环境:
nginx负载均衡服务器:192.168.1.18
IIS节点服务器:192.168.1.12
IIS节点服务器:192.168.1.16
说明:
公司IIS网站中有配置判断域名,
通过nginx做负载均衡后,IIS网站中获取的域名就变了
解决:
在nginx添加负载均衡是配置代理地址为域名即可
proxy_pass http://www.xxxx.com;
upstream www.xxxx.com{
server 192.168.1.12;
server 192.168.1.16 backup;
}
IIS网站获取到的值为www.xxxx.com
但微信公众号使用这个方法好像不能用
将域名解析到IIS节点服务器,无报错
将域名解析到nginx服务器后,通过负载均衡到IIS,报错:
百度原因,无果,大多是在微信公众号上配置的url跟自己提交的redirect_uri 是一致的
但是我在微信公众号中配置的url与解析的域名一致
后在页面中添加
获取到请求过来的地址
查看发现为http://www.xxxx.com:81/index.aspx
原因:
因在IIS中配置的网站端口为81
nginx配置为:
proxy_pass http://weixin.xxxx.com;
upstream weixin.xxxx.com{
server 192.168.1.12:81;
server 192.168.1.16:81 backup;
}
微信公众号获取到的值为weixin.xxxx.com:81,会默认加上节点的端口
解决:
在IIS节点服务器中将微信公众号的网站绑定为80端口。