nginx配置反向代理,使用的docker,用的文檔的配置,第一個(gè)項(xiàng)目可以正常,第二個(gè)項(xiàng)目就訪問504,但是域名+端口號(hào)訪問就可以成功,下面是nginx報(bào)錯(cuò)日志
2022/10/19 10:40:04 [error] 417#417: *244987 upstream timed out (110: Operation timed out) while connecting to upstream
這里是nginx配置
upstream mqtt {
server 172.17.0.2:8585;
keepalive 10240;
}
server {
server_name mqtt.xxxxxxx.com;
listen 80;
access_log off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://mqtt;
}
}
}
第一個(gè)項(xiàng)目nginx配置
upstream webman {
server 172.18.0.7:6737;
keepalive 10240;
}
server {
server_name webman.xxxx.com;
listen 80;
access_log off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://webman;
}
}
}
在論壇里搜索相關(guān)問題,使用別人的配置也沒有成功,百度也沒找到解決方案。
原因是對(duì)docker一知半解的。nginx容器和之前的webman項(xiàng)目容器是用docker-compose創(chuàng)建的,所以在同一個(gè)網(wǎng)絡(luò),而新創(chuàng)建的webman容器是用dockerfile創(chuàng)建的,兩個(gè)容器不同網(wǎng)絡(luò)沒法通信,用docker network connect連接到nginx所在的network里面就可以了