请教portainer的https访问问题

137次阅读

共计 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 的问题还是机器的问题

正文完