多机部署后支付宝支付回调不成功问题处理
前端时间给一个客户做了一个多机后支付宝支付成功后没有收到支付宝的回调接口返回。
因为没有动过任何代码也没有修改过支付相关配置,但是支付成功后系统没有任何日志进来,切回单机后又正常。
于是怀疑是否是nginx转发配置上的问题,于是做了以下修改后正常回调。
#原nginx配置
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://myweb;
}
upstream myweb {
server 192.168.1.2:8088;#web1
server 192.168.1.3:8088;#web2
}
#修改后nginx配置
location / {
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_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Ssl on;
proxy_pass http://myweb;
}
upstream myweb {
server 192.168.1.2:8088;#web1
server 192.168.1.3:8088;#web2
}