【发布时间】:2021-06-16 08:03:47
【问题描述】:
我有一个小型 Django 项目,它在 docker 容器中运行并且仅在本地(无需将其暴露给整个互联网,只需我的办公室),但由于它是一个公司项目,我想给使用它的人使用 URL 访问它的可能性(可能类似于“projectName.corporateWhereIWork.org”)而不是 主机 ip 地址:端口。老实说,我已经阅读和搜索过诸如“反向代理”、“同伴”、“ACME”、“DNS”之类的术语,但这些概念对我来说非常难以理解,我不知道如何配置nginx 正确。
这是我的 nginx 配置文件(看这是一个非常简单的配置):
client_max_body_size 10M;
upstream project {
ip_hash;
server project:8000;
}
server {
location /static/ {
autoindex on;
alias /src/static/;
}
location /media/ {
autoindex on;
alias /src/media/;
}
location / {
proxy_pass http://project/;
}
listen 8000;
server_name localhost;
}
还有我的 Django 图像入口点:
CMD ["sh", "-c", "python manage.py collectstatic --no-input; python manage.py migrate; gunicorn project.wsgi -b 0.0.0.0:8000"]
两个容器都暴露在同一个端口。
【问题讨论】: