我在与 ISPConfig 管理面板 (端口 8080) 建立 https 连接时遇到问题。我的设置相对标准。我拥有一个物理主机,它将公共端口上的所有流量路由到充当路由器的 LXC 容器。它以反向代理模式运行 Nginx 实例,以将流量转发到 veth 本地网络中的其他 LXC 容器。
如果我绕过 lxc 路由器,它就能正常工作,所以问题不在我的防火墙上。我也在本地进行这些测试,所以实际的路由器不是问题。我的证书没有签名,但这只是为了测试。
这是我的 lxc 路由器配置的未完成部分,我尝试了很多很多方法,但都没有成功。我留下了一些测试,您是否对我想要实现的目标有了更好的了解。
upstream mumble {
server 10.0.3.101:80; #MumPI
}
upstream ispconfig {
server 10.0.3.103:8080;
}
server {
listen 80;
listen 8080;
listen 443 ssl;
server_name potato.love;
ssl_certificate /usr/local/ispconfig/ispserver.crt;
ssl_certificate_key /usr/local/ispconfig/ispserver.key;
# location / {
# proxy_pass http://mumble;
# proxy_redirect off;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# }
location / {
proxy_pass http://10.0.3.103:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
#server {
# listen 443 ssl;
#
# ssl on;
# server_name potato.love;
#
# ssl_certificate /usr/local/ispconfig/ispserver.crt;
# ssl_certificate_key /usr/local/ispconfig/ispserver.key;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#
# location / {
# proxy_pass http://10.0.3.103:8080;
# proxy_redirect off;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_ssl_session_reuse off;
# }
#}
一旦我真正让 / 工作起来,我就会路由一个别名。比如 potato.love/admin/。
其他几个问题:
我是否必须使用与 ISPConfig 生成的证书相同的证书?
由于管理界面在 8080 上,并且我从 80 路由到它,而我的端口 80 不是 https,这可能是问题所在吗?
在 ssl 中运行所有内容有什么缺点吗?
什么是爱?
非常感谢您的帮助。真的很感激,如果问题不清楚,我会提供更多信息。祝您有美好的一天!
答案1
这是最愚蠢的做法,但通过测试,我曾尝试使用 https 的 proxy_pass,但 nginx 重启失败。看来这是另一个问题。
解决方案:
代理密码 https://10.0.3.103:8080;
[叹]