You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为Portainer WebUI启用HTTPS访问的方法咨询

为树莓派Ubuntu上的Portainer启用HTTPS访问

下面提供两种实用方案,根据你的需求选择:

方案一:直接通过Portainer CE版启用HTTPS(自动申请Let's Encrypt证书)

Portainer CE版本支持直接集成Let's Encrypt自动获取可信证书,步骤如下:

  1. 停止并移除当前运行的Portainer容器(持久化数据不会丢失):
docker stop portainer
docker rm portainer
  1. 重新启动Portainer,配置HTTPS与Let's Encrypt参数:
docker run -d -p 8000:8000 -p 9443:9443 \
    --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:latest \
    --ssl \
    --letsencrypt \
    --letsencryptdomain por.example.com \
    --letsencryptemail your-email@example.com
  • 说明:
    • 9443是Portainer默认的HTTPS端口,映射到主机后可通过https://por.example.com:9443访问
    • --letsencrypt开启自动证书申请,证书会自动存储在portainer_data数据卷中
    • 替换your-email@example.com为你的有效邮箱,用于证书过期通知
  1. 开放防火墙端口:
sudo ufw allow 9443/tcp
sudo ufw allow 8000/tcp

方案二:Nginx反向代理+Let's Encrypt(适合多服务统一管理)

如果需要为多个服务统一配置HTTPS,推荐用Nginx反向代理:

  1. 安装Nginx与Certbot工具:
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
  1. 创建Nginx配置文件:
    编辑/etc/nginx/sites-available/portainer,写入以下内容:
server {
    listen 80;
    server_name por.example.com;
    return 301 https://$host$request_uri; # 自动重定向HTTP到HTTPS
}

server {
    listen 443 ssl;
    server_name por.example.com;

    location / {
        proxy_pass http://localhost:9000;
        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;
    }
}
  1. 启用配置并验证Nginx:
sudo ln -s /etc/nginx/sites-available/portainer /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
  1. 申请并配置Let's Encrypt证书:
sudo certbot --nginx -d por.example.com

按照终端提示完成操作:输入邮箱、同意条款、选择自动重定向HTTP到HTTPS即可。

  1. 开放防火墙端口:
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp

配置完成后,直接访问https://por.example.com即可(无需加端口,Nginx默认监听443端口)。

注意事项

  • 确保你的域名por.example.com已正确解析到树莓派的公网IP
  • 若使用方案一且希望用9000端口作为HTTPS端口,只需将启动命令中的-p 9443:9443改为-p 9000:9443
  • 自签证书仅适合测试场景,生产环境优先使用Let's Encrypt的可信证书

内容的提问来源于stack exchange,提问作者Chen Jiang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 01:37:39