nginx server_name correspond à un problème de nom de domaine de deuxième niveau
我想大声告诉你
我想大声告诉你 2017-05-16 17:17:43
0
1
744

Lors de la configuration de nginx, server_name doit configurer plusieurs noms de domaine de deuxième niveau. Reportez-vous à cet article, texte original http://bneijt.nl/blog/post/name-based-vi...

L'extrait est le suivant :

server {
    server_name ~^((?<subdomain>.*)\.)?(?<domain>[^.]+)\.(?<tld>[^.]+)$;
    if ($subdomain = "") {
        set $subdomain "_";
    }
    location / {
        index index.html;
        root /srv/http/vhost/${domain}.${tld}/${subdomain};
    }
}

Ma configuration est légèrement modifiée en fonction de cela, le contenu est le suivant :

server {
    server_name  ~^((?<subdomain>.*)\.)aa\.com$;
    if ($subdomain = "") {
        set $subdomain "www";
    }
        
    location / {
        root   /var/www/${subdomain}.aa.com/public;
        index  index.html index.htm;
    }
}

Question :
Lorsque le sous-domaine est vide, il ne peut pas être converti en www. Autrement dit, si vous saisissez www.aa.com dans le navigateur, vous pouvez y accéder, mais si vous saisissez directement aa.com, vous ne pouvez pas le faire. y accéder. Il s'agit d'une expression régulière ~^((?<subdomain>.*).)aa.com$ ou d'autres problèmes ?

我想大声告诉你
我想大声告诉你

répondre à tous(1)
过去多啦不再A梦

Changez l'expression régulière en :
~^((?<subdomain>.*).)?aa.com$
Essayez-le

Remarque, ce n'est pas vérifié dans l'environnement.

Il existe également un accès aux noms de domaine, qui nécessite la résolution du nom de domaine et la configuration des enregistrements A.
www.aa.com et aa.com nécessitent deux enregistrements A.

Le mieux, vérifiez les deux endroits.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal