0
我有一個2服務器: -Nginx反向代理與多個後端域
服務器1:NGINX逆向代理服務器。
服務器2:NGINX 5-6網站(不同領域)
因此,基本上,所有用戶都將前來服務器1將proxy_pass交通到服務器2,並得到響應回來。服務器1也將做緩存,WAF等
這裏是我的服務器1的配置: -
server {
listen 80;
server_name example.com www.example.com;
location ~* {
proxy_pass http://mysite:80;
}
}
server {
listen 80;
server_name server.com www.server.com;
location ~* {
proxy_pass http://mysite:80;
}
}
在我的服務器2,在NGINX的virtual.conf,我有以下配置:
index index.php index.html;
server {
listen 80;
server_name example.com www.example.com;
location/{
root /var/www/websites/example/;
include location-php;
}
}
server {
listen 80;
server_name server.com www.server.com;
location/{
root /var/www/websites/server/;
include location-php;
}
}
但是每當我去http://example.com或http://server.com(通過服務器1充當反向代理執導),它顯示了服務器2的默認NGINX頁。我不確定我做錯了什麼。這種設置也是一種正確的做事方式嗎?
非常感謝ZYWG。它現在似乎在工作。所以爲此,我必須爲server.com和example.com添加/ etc/host條目,指向後端服務器IP。那麼這是做到這一點的正確方法嗎?我有5-6個域,並且對於其中的每一個域,我都必須在/ etc/hosts中添加IP。 – zealvora
您不需要在/ etc/hosts中添加任何內容。 nginx.conf中的server_name只是一個字符串,用於匹配請求中的主機。你只是proxy_set_header主機server.name; proxy_pass http:// 127.0.0.1;然後nginx會解析主機。 – zywj
啊。這似乎更好的方式。非常感謝你的幫助:)乾杯 – zealvora