在宝塔面板下,为docker部署的网页程序配置ssl

1 开启宝塔自带的面板ssl,获得宝塔的自签证书

2 在宝塔面板-网站选项中,填写ip+端口,新建网站。

3 在配置文件中,增加以下代码

  location / {
  proxy_pass http://127.0.0.1:端口号/;
  rewrite ^/(.*)$ /$1 break;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade-Insecure-Requests 1;
  proxy_set_header X-Forwarded-Proto https;
}

4 在配置中,注释掉前两个含有location的代码,防止冲突。

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{}
location ~ .*.(js|css)?$
{}

并注释掉以下代码
#禁止在证书验证目录放入敏感文件
if ( $uri ~ "^/.well-known/.*.(php|jsp|py|js|css|lua|ts|go|zip|tar.gz|rar|7z|sql|bak)$" ) {return 403;}

5 在配置文件下方的SSL中,选择证书夹,找到以ip命名的网站进行部署。部署后在当前证书选项卡中开启强制https

6 重启Nigx,然后访问ip地址(不加端口号)