【发布时间】:2021-12-29 00:58:15
【问题描述】:
我有一个使用 nginx 作为反向代理的容器化应用程序。如果我将 nginx 端口映射为1337:80,我只能通过<MY_INSTANCE_IP>:1337 访问我的网站。如果我将 nginx 端口映射为80:80,我可以通过<MY_INSTANCE_IP> 访问我的网站。更改我的 docker-compose 文件中的端口有效,但我想知道原因。
我的 docker-compose 配置:
version: '3.7'
services:
web:
build:
context: .
dockerfile: ./compose/production/flask/Dockerfile
image: flask_web
command: /start
volumes:
- .:/app
expose:
- 5000
env_file:
- .env/.prod
environment:
- FLASK_APP=app
nginx:
build: ./compose/production/nginx
ports:
- 80:80
depends_on:
- web
我的 nginx 配置:
upstream flask-app {
server web:5000;
}
server {
listen 80;
server_name <MY_INSTANCE_IP>;
location / {
proxy_pass http://flask-app;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
# client_max_body_size 20M;
}
}
【问题讨论】:
标签: docker nginx networking ip