共计 1693 个字符,预计需要花费 5 分钟才能阅读完成。
我用 docker 搭建了一个 portainer,配置如下 nginx 配置: 我用 http 访问就正常,用 https 访问,客户端就提示 请问这种如何解决? |
网友回复:
注册 : 发完贴自己都不看一眼的人,还指望别人帮你,自己先帮帮自己吧
梦幻现实 :??所以你知道怎么解决吗?
Amanda: 你看看你发的是啥玩意
梦幻现实 : 意思就是你不知道咯
Amanda: https://127.0.0.1 ??
梦幻现实 : 对的,因为是反向代理
920: http://127.0.0.1 不就可以
梦幻现实 : 建议 80 跟 443 分开写,另外学下 nginx 配置。是 http://localhost:9443
wps: 现在的情况是,用 http://xxxx 是可以访问的,用 https://xxx 就不能访问
注册 : 这个不行,它不监听 http 的协议了。它监听两种,一种是 http,9000 端口,另一种就是 https,9443 端口。我开了强制 ssl,它就不会监听 9000 端口了,所以用 http 是无效的。而且你用 http 去访问 9443 端口,浏览器会提示你必须用 https 才能访问 9443 端口
注册 : 你开了强制 ssl,将 80 端口转到 443 就行。另外你的镜像暴露的端口就是本机的 9443,代理到本机的 443 端口,跟 9000 端口没有啥关系呀。
梦幻现实 : 反正你要用反代的话不如直接反代 portainer 的 http
蛋饼 : 也是一样的,都是那个报错
萌䒤萌 : 用 http 的 9000 端口其实也是这个报错
梦幻现实 : upstream portainer {server 127.0.0.1:9443;} map $http_upgrade $connection_upgrade {default upgrade; ” close;} server {listen 443 ssl http2; server_name xxxx; 省略 location /portainer/ { proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 900; proxy_set_header Connection “”; proxy_buffers 32 4k; proxy_pass https://portainer/;} location /portainer/api/websocket/ {proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_pass https://portainer/api/websocket/;} } 这是我的配置,反代在了子目录,80 的配置是跳转 443 容器端口映射 127.0.0.1:9443:9443 不暴露本机 9443
梦幻现实 : 谢谢大佬,但用 https 还是一样的错误
萌䒤萌 : 那我感觉你这是证书的问题
梦幻现实 : 用的 zerossl 的证书
萌䒤萌 : 你这个 nginx 的 127.0.0.1 是读取不到的,药改成你本机的 ipv4 地址
注册 : proxy pass https://127.0.0.1:9443 改成 proxy pass http://127.0.0.1:9000 并在 docker 暴露 9000 端口,关闭 portainer 仅 https 访问
注册 : 编辑
diocat: 把 127.0.0.1 换成 172.17.0.1 试试 172.17.0.1 是 docker 内网 IP
tilm: 目前发现配置是正常的,因为同样的机器在其他机器上可以运行。不知道是 v6 的问题还是机器的问题