折腾篇:给群晖docker应用对应的子域名添加证书

在前面我们给群晖的应用添加了域名,在外网可以用域名访问 Heimdall 导航页,Halo 博客等,但是都是通过 HTTP 访问的。即使你能忍受浏览器上显示的 “不安全”,有时候一些应用也不可避免的需要使用 HTTPS,比如 Bitwarden,不通过 HTTPS 不允许注册。

一、前提条件

博主有一台腾讯云的轻量服务器,拥有一个songshiyu.cn的域名,本博客部署在本地的一台黑群晖中,已经通过内网穿透以及反向代理实现了外网访问,但是每次用域名访问的时候会有不安全的显示,如下图: image

我们的目的就是,在浏览器无论输入 songshiyu.cn 还是 http://songshiyu.cn 都会自动转跳到 https://songshiyu.cn 并正常显示: image-1675487256860

二、腾讯云下载证书

进入DNSPod的控制台:https://console.dnspod.cn/ ,可以查看到目前绑定在腾讯云上的域名,点击SSL:

折腾篇:给群晖docker应用对应的子域名添加证书插图2

选择免费证书:

折腾篇:给群晖docker应用对应的子域名添加证书插图3

填写对应的域名和邮箱,设置保持默认:

折腾篇:给群晖docker应用对应的子域名添加证书插图4

审核通过后,根据提示下载证书并解压:

折腾篇:给群晖docker应用对应的子域名添加证书插图5

三、上传证书并修改 nginx 配置文件

  • 找到 nginx 的安装目录,将证书存放至 路径/nginx/ssl 下,我这里是 /www/server/nginx/ssl/
  • 修改 ngxin/conf/ngxin.conf 文件,我这里使用的是 finalshell 上传和编辑。
  • 在 http 块下添加下面的代码:
 server { listen 80; server_name songshiyu.cn; return 301 https://$host$request_uri; # 这句是重定向到 https #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } 

以及:

 server { listen 443 ssl; server_name 你的域名; ssl_certificate /www/server/nginx/ssl/你的域名_bundle.pem; # 此处是路径 ssl_certificate_key /www/server/nginx/ssl/你的域名.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http:访问的ip:端口; } } 
  • 保存好后重启nginx
nginx -s stop nginx 

大功告成!

原文链接:https://songshiyu.cn/archives/19

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享