gpt4 book ai didi

django - Docker django nginx gunicorn URL 丢弃端口

转载 作者:行者123 更新时间:2023-12-01 09:38:13 24 4
gpt4 key购买 nike

首先道歉,如果这是重复的,但我还没有通过 SO 中显示的类似帖子找到解决方案

我有一个使用 nginx 和 gunicorn 的 Docker Django 镜像。

unicorn 脚本:

exec /var/www/venv/bin/gunicorn wsgi:application \
--bind 0.0.0.0:8001 \
--access-logfile /var/log/gunicorn/access.log \
--error-logfile /var/log/gunicorn/error.log

Nginx 配置:
server {

server_name 172.0.0.1;

access_log off;

location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host:$server_port;
}

location /static/ {
autoindex on;
alias /var/www/django/assets/;
expires 7d;
}


}

我正在暴露端口 80 并映射到 49260。

当浏览到包含端口的 docker 主机外部 ip 时,站点已发布并提供静态文件。
http://xxx.xx.xx.xxx:49260/

问题是当我导航到 django 站点中的任何其他页面时,映射的端口从 URL 中删除,然后由主机服务器 ngnix 配置获取。

我想要实现的是维护 URL 中的端口,我以后可以从主机服务器反向代理。

任何建议将不胜感激。

最佳答案

答案是补充:

proxy_set_header Host $http_host;

到打印 hostname:portnumber 的 nginx conf

请参阅此处的 serverfault.com 链接: Original thread

关于django - Docker django nginx gunicorn URL 丢弃端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27770624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com