今天配置遇到一个神奇的问题,我们的生产机器一部分部署在虚拟机,一部分部署在物理机.相同的配置在物理机正常,到虚拟机就不正常了
配置如下
#tfs配置###############################
tfs_upstream tfs_ns {
server 10.176.244.216:8108; #生产环境
#server 192.168.12.156:8108;#测试环境
type ns;
#rcs_zone name=taobao-tfs size=128M;
#rcs_interface eth0;
#rcs_heartbeat lock_file=/usr/local/openresty/nginx/logs/lk.file interval=3s;
}
tfs_body_buffer_size 5m;
tfs_send_timeout 3s;
tfs_connect_timeout 3s;
tfs_read_timeout 3s;
tfs_keepalive max_cached=100 bucket_count=10;
server {listen 8604;#tfs插件实现从tfs取资源
header_filter_by_lua 'ngx.header["Server"]=nil';
error_page 404 403 500 503 504 400 /errorpage;
location /errorpage {content_by_lua ' ngx.say("8604 url:",ngx.var.request_uri)';}
location /v1/tfs/ {tfs_pass tfs://tfs_ns;}
}
upstream up-tfs {server 127.0.0.1:8604;keepalive 20;}#tfs集群
访问如下
http://10.180.211.39:8032/v1/tfs/T1KRJTBTVg1RXrhCrK.jpg
端口不是8604是因为我做了个集群up-tfs通过其他服务反向代理到这个端口来.
虚拟机报错如下,虚拟机到10.176.244.216的网络是通的.且这个现象如果重启nginx有可能正常
2016/12/25 11:07:03 [error] 25686#0: *829439 can not find retry server while connecting to upstream,
client: 127.0.0.1, server: , request: "GET /v1/tfs/T1KRJTBTVg1RXrhCrK.jpg HTTP/1.1", host: "10.180.211.39:8032"
2016/12/25 11:07:04 [error] 25682#0: *829447 connect() failed (111: Connection refused) while connecting to upstream,
client: 127.0.0.1, server: , request: "GET /v1/tfs/T1KRJTBTVg1RXrhCrK.jpg HTTP/1.1", host: "10.180.211.39:8032"