我有两个服务器:-
服务器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 (通过Sever 1充当反向代理)时,它都会显示服务器2的默认NGINX。我不知道我做错了什么。同样,这种类型的设置是一种正确的方法吗?
发布于 2015-10-11 09:10:12
这是您的主机问题。
由于您的上游名称是mysite,所以上游请求中的主机名也是mysqsite。
所以主机与后端服务器不匹配。
您可以通过在proxy_pass之前添加指令来解决这样的问题
proxy_set_header Host server.com
https://stackoverflow.com/questions/33056386
复制相似问题