Docker Portainer 啟用SSL https訪問

warning: 这篇文章距离上次修改已过1476天,其中的内容可能已经有所变动。
docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
portainer啟用https有兩種方法, 第一種:使用nginx反向代理,在nginx中使用ssl,這樣能很容易實現,並且域名後可以不用加端口訪問。 nginx配置如下
server
{
listen 80;
listen 443 ssl http2;
server_name 你的域名;





#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END
ssl_certificate 證書路徑/XXX.cer;
ssl_certificate_key 密匙路徑/XXX.xyz.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
error_page 497 https://$host$request_uri;

#SSL-END

#禁止访问的文件或目录
location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)
return 404;
}

location ~ .well-known{
allow all;
}

location / {
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_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:23900;#這裡的端口號是你Portainer映射到host的端口號

}

}

這樣就用nginx反向代理實現了portainer的ssl加密

第二種方式,利用portainer自身實現ssl加密。一般443端口會被nginx佔用,這樣訪問時就只能在域名後面加端口號訪問了。

https://portainer.readthedocs.io/en/stable/deployment.html官方說明連接

docker run -d -p 443:9000 -p 8000:8000 --name portainer --restart always -v ~/local-certs:/certs -v portainer_data:/data portainer/portainer --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key
其中-v ~/local-certs:/certs 是要映射你本地的證書路徑, --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key 這個命令就是啟用了ssl,注意portainer.crt和portainer.key需要和本地的名字保持一致。 這樣你就能使用https訪問portainer的管理頁面了。 下圖是portainer的管理頁面的配置,在command裏面加入了--ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key 在volumes里,我是直接用了文件映射。 第二種方式比較適合沒有公網IP,使用frp做內網穿透的。
none
最后修改于:2020年11月18日 18:36

添加新评论