Ada beberapa konfigurasi situs di nginx saya, dan ketika saya me-restart mesin, jika salah satu hulu situs tidak dapat dijangkau, nginx tidak akan memulai sama sekali, dan situs yang sehat itu tidak akan mulai sebagai hasilnya, bagaimana membiarkan nginx abaikan situs yang tidak valid itu?
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
dan situs-enabled / example1 adalah
upstream example1 {
server example1.service.example.com;
}
server {
listen 80;
server_name example1.com;
location / {
proxy_pass http://example1/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
dan situs-enabled / example2 adalah
upstream example2 {
server example2.service.example.com;
}
server {
listen 80;
server_name example2.com;
location / {
proxy_pass http://example2/;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Ketika saya me-restart mesin dan pada saat itu example2.service.example.com sedang down, nginx tidak akan memulai sama sekali, yaitu bahkan example1.service.example.com tersedia, nginx tidak akan melayani sebagai contoh1
===== update Penjelasan "sedang down": Semua subdomain secara otomatis terdaftar / dideregistrasi di server dns saya sendiri, jadi jika servernya down, dns akan merespon tidak ada domain seperti itu ketika mencoba menyelesaikannya.
Jawaban:
Akhirnya saya menemukan solusi, menyelesaikan lokasi domain insdie berfungsi!
contoh:
Dan nginx tidak akan mencoba menyelesaikannya
http://something.service.lab.mu
di waktu mulai.sumber
proxy_pass $target;
, saya mendapatkan "502 Bad Gateway",proxy_pass http://$target
memberi saya "500 Server Internal Kesalahan". Saat itulah Nginx sebenarnya mampu menyelesaikan host.Bagi siapa pun yang menemukan masalah ini, @cgcgbcbc benar.
Tetapi Anda juga perlu menambahkan
arahan di atas
jika tidak, Anda akan mendapatkan kesalahan di nginx, seperti:
sumber