我有一个站点可以用作负载平衡器。网站A。
我还有其他只能拥有一个域的站点。因此,如果我只是重定向到他们,它说找不到主机名。
因此,如果我手动将标题设置为某些内容,则仅显示该站点。
我如何设置proxy_set_header Host xxxx
所选的服务器地址。这样,每个重新路由请求将具有不同且适当的主机头。
如果我的其他2个站点可以基于url而不是主机标头工作,那将不是问题。
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
error_log logs/error.log debug;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
upstream myapp1 {
#server localhost:3333;
server www.asd.com:80;
}
server {
listen 80;
location / {
proxy_set_header Host $upstream_addr; // should become somehow www.asd.com right now this code doesn't work
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://myapp1;
}
}
}
我希望
—
Muhammad Umer
www.asd.com:80
选择服务器时主机标头为www.asd.com
还是有写方法
—
穆罕默德·乌默尔
if(server1) than host = a;
,if(server2) than host = b;
我认为,适当的主机头应该是从客户端获得的任何内容。如果客户端请求www.asd.com,则主机标头应为该标头。这将有助于在需要时在后端正确生成绝对URL,为cookie等设置适当的域。无论您尝试做什么,您都可能以错误的方式查看它。
—
FlorinAsăvoaie2015年
客户端和中间服务器都是我。
—
穆罕默德·乌默尔
$server_addr
是为什么127.0.0.1为什么呢?