Maison  >  Questions et réponses  >  le corps du texte

Fichier de configuration - configuration multisite nginx, inaccessible via le nom de domaine, l'utilisation de l'accès IP permettra d'accéder à l'un des sites

J'ai configuré le multi-site Nginx sur un serveur, mais les noms de domaine utilisés pour accéder à ces sites ne sont pas accessibles. L'erreur est la suivante :

.

Vous serez redirigé vers l'un des sites via IP, notamment comme suit :

Lorsque toutes les configurations sont activées, tous les noms de domaine ne sont pas accessibles. L'accès IP affiche siteD
Après avoir supprimé le siteD, il passera au siteB, après avoir supprimé le siteB, il passera à 404, après avoir supprimé le siteB, il passera au siteB. vers le siteA, et après avoir supprimé le siteA, il passera au siteC

Après avoir vérifié pendant longtemps, je ne sais toujours pas quel est le problème. S'il vous plaît, aidez-moi à le résoudre/w

.

Voici les fichiers de configuration spécifiques :

nginx.conf

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    server_tokens   off;
    underscores_in_headers off;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

default.conf

server {
    listen       80;
    server_name  _;

    location / {
        return 404;
    }
}

siteA.conf

server {
    listen       80;
    server_name  siteA.domain.com;

    access_log  /var/log/nginx/siteA.access.log  main;

    location / {
        root   /usr/share/nginx/html/siteA;
        index  index.php index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
         #try_files $uri =404;
         #root /usr/share/nginx/html/siteA;
         fastcgi_split_path_info ^(.+.php)(/.+)$;
         fastcgi_pass unix:/dev/shm/php5.6-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_index index.php;
         include fastcgi_params;
    }
}

siteB.conf

server {
    listen       80;
    server_name  siteB.domain.com;

    access_log  /var/log/nginx/siteB.access.log  main;

    location / {
        root   /usr/share/nginx/html/siteB;
        index  index.php index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
         try_files $uri =404;
         root /usr/share/nginx/html/siteB;
         fastcgi_split_path_info ^(.+.php)(/.+)$;
         fastcgi_pass unix:/dev/shm/php5.6-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_index index.php;
         include fastcgi_params;
    }
}

siteC.conf

server {
    listen       80;
    server_name  siteC.domain.com;

    access_log  /var/log/nginx/siteC.access.log  main;

    location / {
        root   /usr/share/nginx/html/siteC/;
        index  index.php index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
         try_files $uri =404;
         root /usr/share/nginx/html/siteC/;
         fastcgi_split_path_info ^(.+.php)(/.+)$;
         fastcgi_pass unix:/dev/shm/php5.6-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_index index.php;
         include fastcgi_params;
    }
}

siteD.conf

server {
    listen       80;
    server_name  siteD.domain.com;

    access_log  /var/log/nginx/siteD.access.log  main;

    location ~ ^/(baidu|webscan|yx_scan) {
        root /usr/share/nginx/siteD;
    }

    location / {
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header User-Agent $http_user_agent;
       proxy_set_header Accept-Encoding "";
       proxy_redirect off;
       proxy_pass http://127.0.0.1:8080/siteD/;
       rewrite ^/WebGoat/(.*)$ / last;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

Nginx Info (installé avec apt, mainline)

nginx version: nginx/1.11.9
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) 
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

Journal des erreurs de débogage Nginx

2017/02/22 11:29:27 [notice] 6335#6335: using the "epoll" event method
2017/02/22 11:29:27 [notice] 6335#6335: nginx/1.11.9
2017/02/22 11:29:27 [notice] 6335#6335: built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
2017/02/22 11:29:27 [notice] 6335#6335: OS: Linux 3.13.0-100-generic
2017/02/22 11:29:27 [notice] 6335#6335: getrlimit(RLIMIT_NOFILE): 1000000:1000000
2017/02/22 11:29:27 [notice] 6336#6336: start worker processes
2017/02/22 11:29:27 [notice] 6336#6336: start worker process 6337
2017/02/22 11:30:27 [info] 6337#6337: *1 client timed out (110: Connection timed out) while waiting for request, client: 117.34.28.13, server: 0.0.0.0:80
2017/02/22 11:30:49 [info] 6337#6337: *2 client timed out (110: Connection timed out) while waiting for request, client: 47.90.50.49, server: 0.0.0.0:80
2017/02/22 11:38:44 [info] 6337#6337: *3 client timed out (110: Connection timed out) while waiting for request, client: 183.61.236.14, server: 0.0.0.0:80
2017/02/22 11:38:44 [info] 6337#6337: *4 client timed out (110: Connection timed out) while waiting for request, client: 124.95.168.140, server: 0.0.0.0:80
2017/02/22 11:38:45 [info] 6337#6337: *5 client timed out (110: Connection timed out) while waiting for request, client: 61.182.137.6, server: 0.0.0.0:80
2017/02/22 11:38:46 [info] 6337#6337: *6 client timed out (110: Connection timed out) while waiting for request, client: 117.27.149.14, server: 0.0.0.0:80
2017/02/22 11:38:50 [info] 6337#6337: *7 client timed out (110: Connection timed out) while waiting for request, client: 42.236.7.68, server: 0.0.0.0:80
2017/02/22 11:38:58 [info] 6337#6337: *8 client timed out (110: Connection timed out) while waiting for request, client: 124.95.168.140, server: 0.0.0.0:80
2017/02/22 11:38:59 [info] 6337#6337: *9 client timed out (110: Connection timed out) while waiting for request, client: 61.182.137.6, server: 0.0.0.0:80
2017/02/22 11:38:59 [info] 6337#6337: *10 client timed out (110: Connection timed out) while waiting for request, client: 183.61.236.14, server: 0.0.0.0:80
2017/02/22 11:39:02 [info] 6337#6337: *11 client timed out (110: Connection timed out) while waiting for request, client: 117.27.149.14, server: 0.0.0.0:80
2017/02/22 11:39:12 [info] 6337#6337: *12 client timed out (110: Connection timed out) while waiting for request, client: 124.95.168.140, server: 0.0.0.0:80
2017/02/22 11:39:12 [info] 6337#6337: *13 client timed out (110: Connection timed out) while waiting for request, client: 61.182.137.6, server: 0.0.0.0:80
2017/02/22 11:39:15 [info] 6337#6337: *14 client timed out (110: Connection timed out) while waiting for request, client: 183.61.236.14, server: 0.0.0.0:80
阿神阿神2713 Il y a quelques jours824

répondre à tous(3)je répondrai

  • 某草草

    某草草2017-05-16 17:11:33

    Cette question a reçu une réponse sur v2ex et une réponse de @Showfom La raison est que le nom de domaine n'a pas été enregistré et a été bloqué par la salle informatique

    .

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-16 17:11:33

    Cela semble être la valeur par défaut, il est donc préférable de ne pas utiliser de caractères génériques

    server {
        listen 80 default;
        return 404 'no site found';
    }

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-16 17:11:33

    Vérifiez si le nom de domaine est effectivement résolu sur le serveur. S'il n'est pas résolu correctement, définissez la résolution correcte auprès de l'opérateur du nom de domaine.

    Vérifiez les paramètres du pare-feu du serveur et activez les restrictions d'accès au port 80. Vérifiez également si l'opérateur du serveur a défini les paramètres du pare-feu.

    Après avoir configuré nginx, vous pouvez tester s'il est disponible sur le serveur.

    curl siteA.domain.com

    Si le nom de domaine est dans un état non résolu

    echo '127.0.0.1 siteA.domain.com' >> /etc/hosts
    systemctl restart nginx
    curl siteA.domain.com

    Si le serveur n'est pas accessible normalement, le problème se produit dans la configuration de nginx.
    Si le serveur est accessible mais pas localement, le problème se produit dans la résolution du nom de domaine ou dans le pare-feu.

    À en juger par mes connaissances limitées en matière de configuration de Nginx, il n'y a pas grand-chose de mal à cela.

    répondre
    0
  • Annulerrépondre