作者:Garonix
以前配置内网 HTTPS 太繁琐了,生成证书、改 Nginx 配置、导 CA 证书到各个设备,修改 hosts 或者配置本地域名解析,一套流程下来累到崩溃。索性开发一个可视化工具 SSlinker,全程可视化操作,新手也能轻松搞定内网 HTTPS 配置。
github 链接:https://github.com/Garonix/SSlinker
一、先搞清楚:它到底能解决啥问题?
如果有这些需求,那你一定要试试它:
https 的安全锁看着让人安心(
内外网服务使用同一个域名访问,无感切换。
部分服务必须配置 https 才能使用,想在内网使用也需要 SSL 证书,比如 bitwarden。
不想敲命令行配置 ssl,而且每次给新服务配反向代理都要翻 Nginx 配置模板。
没有 VPS,不想花钱买域名,只有家庭 NAS 内网访问需求。
二、手把手教你用:从部署到配置,3 分钟搞定!
1. 部署篇: Docker compose 一键启动
我强烈推荐用 Docker Compose 部署,会用的同学直接复制下面的 compose.yaml:
services: app: image: garonix/sslinker container_name: sslinker ports: - "9037:8000" - "80:80" - "443:443" volumes: - ./sslinker/certs:/certs - ./sslinker/nginx:/etc/nginx/conf.d - ./sslinker/config:/app/backend/config environment: - PYTHONUNBUFFERED=1 restart: unless-stopped
飞牛用户跟我操作,先打开桌面上的 docker
一步一步来
接着打开浏览器输入 http://ip 地址 :9037 即可访问 webui。
2. 证书篇:生成 + 导入,再也不用记 OpenSSL 命令
举个栗子:我要把内网服务器192.168.3.24:9037的服务(假设就是 SSLinker),通过域名ssl.myapp.com用 HTTPS 访问。
第一次用先生成 CA 根证书,点击导航栏「证书管理」→「CA 根证书」,点击「生成 CA 根证书」。之后就再也不用生成根证书了!
生成 CA 根证书
下载 CA 证书
下载根证书(.crt 格式),双击打开,「安装证书」→「下一步」→「将所有的证书都放入下列存储」→「浏览」→「受信任的根证书颁发机构」→「完成」。
安装证书
生成域名证书,点击「生成域名证书」,一般只填写域名
生成域名证书
到这里证书申请的部分就完成了,接下来是反向代理配置。
3. 反代配置篇:一键生成 Nginx 配置,再也不用手动改 conf 文件
点击导航栏「反向代理」→「添加配置」,选择证书,输入服务地址。
添加反向代理
反向代理部分就完成了!
4. hosts 篇:验证访问,从此告别 " 不安全 " 提示
windows 用户按下 ''windows + R" 快捷键,打开 " 运行 " 窗口,输入:
powershell.exe -Command "Start-Process -FilePath notepad.exe -Verb RunAs -ArgumentList "$env:SystemRootsystem32driversetchosts""
即可打开 hosts 文件,在设备的 hosts 文件最后一行加上:
192.168.3.24 ssl.myapp.com
编辑 hosts
其中 192.168.3.24 是你安装 sslinker 的 nas 的 ip 地址,ssl.myapp.com 是反代中填写的域名。
让人安心的小锁
浏览器输入 https://ssl.myapp.com,第一次访问可能会提示证书不受信任,这时候按照提示导入 CA 根证书就行(就用刚才下载的那个),之后就会显示安全锁啦!
附录:叽里咕噜说什么呢,我只知道内网 IP,想用用 HTTPS
在首页输入「域名」和「IP:端口」,点击「一键配置」,然后手动修改 hosts 即可(浏览器没权限,不然也自动化了)。
一键配置
三、注意事项:避坑指南提前看
自签证书只能在内网用哈,如果要公网访问,还是得买正规 CA 证书,不过 SSlinker 支持上传外部证书,直接把之前的公网证书传上去就行。
第一次导 CA 证书时,部分浏览器(比如 Chrome)会提示不安全,这时候别慌,按照页面上的「使用指南」手动信任一下根证书,之后就不会再提示了。
Docker 部署时,确保 80、443 端口没被占用,不然会启动失败,Windows 用户记得关一下防火墙或者放行端口。如果服务器原有一些 web 服务,占用了 80、443 端口,那就暂时无法使用(或者就用 SSLinker 反向代理一下)。之后会出一个不内置 nginx 的版本。
现在就去试试:https://github.com/Garonix/SSlinker(记得 Star 一下,支持开发者继续更新好功能!)
用过之后你会发现,内网配置 HTTPS 原来可以这么轻松,再也不用对着命令行抓耳挠腮了,冲就完事儿!
登录后才可以发布评论哦
打开小程序可以发布评论哦