把nginx玩儿坏了——计数服务咋收不到数了?

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段在最前面啊!)

你可能感兴趣的:(把nginx玩儿坏了——计数服务咋收不到数了?)