我已经在 Linux 主机上安装了 Home Assistant 的官方 KVM 安装。主机是 192.168.0.110,该主机上的 KVM Home Assistant 是 192.168.0.73:8123。
我想要为 Home Assistant 建立 SSL/HTTPS 连接。我有一个域名,并且我的主机上有该域名的证书(通过 Certbot 进行 Let's Encrypt)。
然后我在主机上创建了一个 nginx 反向代理。当然,端口 80 和 443 在我的路由器中转发到 192.168.0.110(主机)。
server { if ($host = domain.xyz) { return 301
https://$host$request_uri; }
listen 80; server_name domain.xyz; return 301
https://$host$request_uri; }
server { listen 443 ssl; server_name domain.xyz;
ssl_certificate /etc/letsencrypt/live/domain.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.xyz/privkey.pem;
location / {
proxy_pass http://192.168.0.73:8123;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; } }
当我转到 192.168.0.73:8123 时,一切正常,但是当我转到https://domain.xyz
它时会抛出 502 Bad Gateway。
你能帮我吗?我正在查看反向代理,这里没有发现错误?
NGINX ERROR LOG:
[error] 1584367#1584367: *72 connect() failed (113: Unknown error) while connecting to upstream, client: MY_IP, server: DOMAIN.XYZ, request: "GET / HTTP/2.0", upstream: "192.168.0.73:8123", host: "DOMAIN.XYZ"
答案1
我认为您的 Nginx 配置文件的这一部分存在问题:
server { if ($host = domain.xyz) { return 301
https://$host$request_uri; }
我不明白为什么您要对域名本身执行重定向 (301)。它会产生循环。
我不是 Nginx 专家,但对我来说,这意味着如果我到达https://domain.xyz
,我就会被重定向到https://domain.xyz
等等……
尝试删除这部分并检查是否更好。