我有2个Web服务器和nginx服务器作为反向代理。称他们为web1 web2和nginx1。
我试图让2个网络服务器落后于1个外部IP
我在/etc/nginx/conf.d/中什么都没有 我已经为站点中的每个站点创建了conf文件,并使用符号链接将它们链接到启用了站点。
示例文件。
server {
listen 80;
server_name *.abc.com;
access_log off;
error_log off;
location / {
proxy_pass http://10.0.0.110/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
问题是它无法正常工作,似乎想要将所有网站都指向任一服务器,它似乎依赖于我编辑的最后一个conf文件。
我做错了什么?
答案 0 :(得分:1)
您需要为每个后端网络服务器提供服务器指令。这是一个应该适合你的例子(用你的附加代替省略号):
server {
server_name abc.com def.com;
...
location / {
proxy_pass http://10.0.0.110/;
...
}
}
server {
server_name hij.com klm.com;
...
location / {
proxy_pass http://10.0.0.120/;
...
}
}
答案 1 :(得分:0)
我相信我已将其排序,我需要拥有IP集
listen 10.0.0.125:80
正确设置域名* .abc.com不包含abc.com,它只包含所有子域名。
所以我把它改成了
server_name .abc.com;
只是进行其中一项更改并没有解决我的问题。