Nginx反向代理docker容器局域网
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx反向代理docker容器局域网相关的知识,希望对你有一定的参考价值。
我无法理解nginx反向代理如何工作也许有人可以提供帮助。让我说我在LAN中使用docker的服务器有IP 192.168.0.3我有这样的docker-compose文件:
version: '2'
angular-on-nginx:
build: angular_client
ports:
- "80:80"
volumes:
- ./angular_client/dist:/usr/share/nginx/html
- ./angular_client/default.conf:/etc/nginx/conf.d/default.conf
express:
build: express_server
ports:
- "4444:4444"
volumes:
- ./express_server/:/usr/src/app
links:
- database
depends_on:
- database
database:
image: mongo
ports:
- "27777:27777"
volumes:
- ./mongodb_data:/data/db
在angular-on-nginx容器上有角度app和nginx,具有这样的配置:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /express {
proxy_pass http://192.168.0.3:4000/;
}
}
但是当输入192.168.0.3角网页应用程序加载就好并且有效时,这不起作用。当输入192.168.0.3:4444快递服务器给出响应就好了但是在输入192.168.0.3/express时有502坏网关。如何让它工作,以便当我输入192.168.0.3/express时,我会得到与输入192.168.0.3:4444时相同的结果?
答案
不知道为什么但这有效。
server {
listen 80;
listen [::]:80;
server_name 192.168.0.3;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /express/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://192.168.0.3:4444;
}
}
以上是关于Nginx反向代理docker容器局域网的主要内容,如果未能解决你的问题,请参考以下文章