我的需求
- 我的一台Win NAS上有一些内网服务如Alist等,需要通过公网进行访问,那除了端口转发和ddns之外,为了更好的安全性,https也是必须要配置的。因此查了一些资料,将自己的过程和经验记录在这里。
- 我的目的是将内网服务127.0.0.1:5244,配置为通过公网域名
https://我的域名:5244
来访问
- 本文主要参考了windows配置NGINX、NGINX配置SSL证书通过HTTPS访问、使用HTTPS通过NGINX代理访问服务器端项目,结合实际应用,以完整流程复写一遍
- 本文假定已经通过Openwrt或ddns-go配置好了ddns服务,文内不再涉及相关内容。
Windows安装配置nginx
- 官网:http://nginx.org/en/download.html
- 下载后解压至纯英文目录,如D:\nginx
- 使用命令行启动nginx,如
start D:\nginx\nginx.exe
- 浏览器输入localhost出现nginx提示页表示成功
Windows安装OpenSSL
- 下载地址:http://slproweb.com/products/Win32OpenSSL.html
- 新增用户变量
变量名:OPENSSL_HOME
变量值:C:\Users\78425\OpenSSL-Win64\bin
改为你的OPENSSL安装目录
- 用户变量path的值后追加一条%OPENSSL_HOME%
申请ssl证书
- 可以使用原帖教程申请证书或通过腾讯云或let's encrypt免费申请证书,这里不再赘述
- 下载证书:下载nginx版本的证书(里面四个文件,后缀名分别是.csr、.key、.crt、.pem)
- 将证书放到nginx的程序目录下的ssl文件夹中,比如我的就是
D:\nginx\ssl\[这里是四个证书文件]
配置nginx
- 打开配置文件,如
D:\nginx\conf\nginx.conf
,找到https_server的部分,将下面的注释取消掉,改动的内容我用下划线标出来了
注意红圈这里,可以是除了5244的任意端口号,因为5244默认是我要代理的alist服务的http端口了,自然不能再作为它的https端口号。这里我改为了5245。其他改动一看便知不再赘述。
- 通过命令重新启动服务
nginx -s reload
- 现在我们通过浏览器输入
https://127.0.0.1:5245
访问试试,浏览器如果提示不安全,那说明我们配置文件正确,接下来去openwrt里操作
- 去软路由设置端口转发,将内网的5245端口转发到外网任意端口即可,我仍然转发到了外网的5244端口,这样好处是,让5244成为了外网唯一访问alist服务的端口,而这个端口现在已经加上了https。所以更加安全。
- 搭配早已配置好的ddns服务,我们终于可以在公网使用https访问alist服务了。
没有标签
2022-11-07 首页 • 我的作品 • Windows服务如何使用Nginx配置https访问
大侠阿木博客
Windows服务如何使用Nginx配置https访问我的需求 我的一台Win NAS上有一些内网服务如Alist等,需要通过公网进行访问,那除了端口转发和ddns之外,为了更好的安全性,https也是必须要配置的。因此查了一些资料,将自己的过程和…
2022-11-07