【发布时间】:2020-02-09 20:57:54
【问题描述】:
我正在尝试将我的网站从 HTTP 重定向到 HTTPS,并且我已经部分成功了。问题是,当我输入 mywebsite.fr 时,我会在地址栏中获得包含网站代码的容器的服务名称(例如 Django app/),并带有 DNS_PROBE_FINISHED_NXDOMAIN 错误。
现在,我在另一台计算机的另一个 Chrome 浏览器上尝试了同样的操作,这一次当我输入 www.mywebsite.fr 时,我得到了相同的结果,而非 www 被正确地重定向到了安全地址。
最后,我使用带有 www 和非 www 的智能手机 (Brave) 尝试了完全相同的过程,我得到 https://djangoapp 错误 ERR_NAME_NOT_RESOLVED 而当我明确输入 https:\\mywebsite 时,我没有遇到任何问题。
所以这里是重定向到 HTTPS 服务器的 NGINX 部分:
server {
...
location / {
return 301 https://djangoapp$request_uri;
}
}
这是指向上游的 HTTPS 服务器中的位置:
server {
...
location / {
...
proxy_pass http://djangoapp;
}
}
而且,这是运行代码的服务:
djangoapp:
build: .
ports:
- "8000:80"
links:
- db
depends_on:
- db
我还没有掌握 NGINX 的所有复杂性,而且我真的不明白我在这里做错了什么。关于这个问题我有什么解决方案或建议?
【问题讨论】:
标签: django nginx https docker-compose nginx-location