【发布时间】:2019-01-29 20:04:13
【问题描述】:
我有一个安装了 nginx 并配置为反向代理的 ubuntu 18.0.4 lts 机器:
/etc/nginx/sites-enabled/default:
server {
server_name example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://0.0.0.0:3000;
}
我有一个网站在 docker 容器中运行,侦听端口 3000。使用此配置,如果我浏览到 http://example.com,我会看到该网站。
然后我使用他们网站上的标准安装方式安装了 LetsEncypt,然后我运行 sudo certbot --nginx 并按照说明为 mydomain.com 启用 https。
现在我的etc/nginx/sites-enabled/default 看起来像这样,我无法在https://example.com 和http://example.com 上加载网站:
server {
server_name example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://0.0.0.0:3000;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
有什么想法吗?
【问题讨论】:
-
/var/log/nginx/目录中有任何日志吗? -
access.log 和 error.log 是空的(我安装后清除它们让我们加密)
-
您是否尝试过
https://example.com,因为似乎没有来自端口 80 (http) -> 443 (https) 的自动重定向 -
@Bernhard 是的,我已经更新了我的问题。运行 certbot 后,我无法通过 http 或 https 访问该站点
-
你能从root用户运行
nginx -t吗?
标签: docker nginx reverse-proxy lets-encrypt proxypass