1. 多个nginx指向同一个服务的不同版本,方便看到区别
2. 于是 clickIP上加了如下代码 :
upstream ups_mc-ad-api-prod {
# server 172.17.0.17:39475 max_fails=3 fail_timeout=4s weight=2;
server 172.17.0.17:9091 max_fails=3 fail_timeout=4s weight=2;
}
server {
listen 80;
listen [::]:80;
server_name api.adn.ssp.xx.com ;
location / {
proxy_pass http://ups_mc-ad-api-prod;
proxy_store off;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
}
}
3. 结果导致以前的
http://xx.com/conversion?clickid=xxx
的回调,发送到了上面新加的这个服务上去了,而不是以前的准确的后台计数服务。
4. 原因在于上面的 server_name 本就没有被绑定域名,又写在了 所有server 段的最前面,导致后面正确的没有生效。
于是移动到nginx配置文件的最后面,并且在原来计数服务的server_name加上正确的域名,确保不会访问错误的服务!
5. 总结来说就是,把nginx玩儿坏了,本该访问计数服务的,访问到测试的api去了!
一是 server 段的顺序问题,一是计数服务的转发中,server_name没有写上request来使用的域名,所以立即补上(以前没出问题是因为这个server段在最前面啊!)