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