Saya telah menyediakan berbilang tapak Nginx pada satu pelayan, tetapi nama domain yang digunakan untuk mengakses tapak ini tidak boleh diakses Ralat adalah seperti yang ditunjukkan di bawah:
Anda akan dialihkan ke salah satu tapak melalui IP, khususnya seperti berikut:
Apabila semua konfigurasi dihidupkan, semua nama domain tidak boleh diakses Akses IP menunjukkan siteD
Selepas mengalih keluar siteD, ia akan melompat ke tapakB, selepas mengalih keluar tapakB, ia akan melompat ke 404, selepas mengalih keluar tapakB, ia akan melompat. ke tapakA, dan selepas mengalih keluar tapakA, ia akan melompat ke tapakC
Setelah menyemak untuk masa yang lama, saya masih tidak tahu apa masalahnya. Tolong bantu saya untuk menyelesaikannya
Berikut ialah fail konfigurasi khusus:
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;
}
}
tapakB.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;
}
}
Maklumat Nginx (dipasang menggunakan apt, talian utama)
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'
Log Ralat Nyahpepijat 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
Soalan ini telah dijawab di v2ex dan dijawab oleh @Showfom Sebabnya nama domain belum didaftarkan dan telah disekat oleh bilik komputer
Nampaknya ia adalah nilai lalai, jadi lebih baik jangan gunakan kad bebas
Semak sama ada nama domain diselesaikan dengan berkesan ke pelayan Jika ia tidak diselesaikan dengan betul, tetapkan resolusi yang betul pada pengendali nama domain.
Semak tetapan tembok api pelayan dan dayakan sekatan akses port 80 Juga semak sama ada pengendali pelayan telah menetapkan tetapan tembok api.
Selepas mengkonfigurasi nginx, anda boleh menguji sama ada ia tersedia pada pelayan.
Jika nama domain dalam keadaan belum diselesaikan
Jika pelayan tidak boleh diakses secara normal, masalah berlaku dalam konfigurasi nginx
.Jika pelayan boleh diakses tetapi tidak secara setempat, masalah berlaku dalam resolusi nama domain atau firewall.
Berdasarkan pengetahuan konfigurasi nginx saya yang terhad, tidak banyak yang salah dengannya.