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
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
.Cela semble être la valeur par défaut, il est donc préférable de ne pas utiliser de caractères génériques
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.
Si le nom de domaine est dans un état non résolu
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.