Nginx
NGINX 配置問題
我的 nginx 配置有問題。問題是它總是使用代理配置它從不使用 beta.node365-p.se 配置。
我希望如果請求的域是 beta.node365-p.se,伺服器應該在本地處理它,但如果請求是針對其他東西的,它應該將它代理到另一個 apache 伺服器。
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.php index.html index.htm; server_name beta.node365-p.se; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name ""; location / { proxy_buffers 16 4k; proxy_buffer_size 2k; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://31.44.238.211:80; } }
僅在第二個虛擬主機中更改
server_name "";
byserver_name _;
和 let選項。default_server
第一個 server_name 情況意味著您匹配沒有 Host 指令的請求(即 HTTP/1.0 請求)。第二個意味著如果考慮到初始請求的 Host 標頭,其他虛擬主機不包含正確的 server_name ,則您匹配作為第二個選項選擇的萬用字元伺服器名稱。
更新:
- 您的 conf 缺少虛擬主機中的監聽指令。
- 您在代理時沒有傳遞正確的 Host 標頭,更改
proxy_set_header Host $host;
為proxy_set_header Host "beta.node365-p.se";
.