大侠阿木博客
大侠阿木博客

Windows服务如何使用Nginx配置https访问

我的需求

  1. 我的一台Win NAS上有一些内网服务如Alist等,需要通过公网进行访问,那除了端口转发和ddns之外,为了更好的安全性,https也是必须要配置的。因此查了一些资料,将自己的过程和经验记录在这里。
  2. 我的目的是将内网服务127.0.0.1:5244,配置为通过公网域名https://我的域名:5244来访问
  3. 本文主要参考了windows配置NGINX、NGINX配置SSL证书通过HTTPS访问、使用HTTPS通过NGINX代理访问服务器端项目,结合实际应用,以完整流程复写一遍
  4. 本文假定已经通过Openwrt或ddns-go配置好了ddns服务,文内不再涉及相关内容。

Windows安装配置nginx

  1. 官网:http://nginx.org/en/download.html
  2. 下载后解压至纯英文目录,如D:\nginx
  3. 使用命令行启动nginx,如start D:\nginx\nginx.exe
  4. 浏览器输入localhost出现nginx提示页表示成功

Windows安装OpenSSL

  1. 下载地址:http://slproweb.com/products/Win32OpenSSL.html
  2. 新增用户变量
    变量名:OPENSSL_HOME
    变量值:C:\Users\78425\OpenSSL-Win64\bin 改为你的OPENSSL安装目录
  3. 用户变量path的值后追加一条%OPENSSL_HOME%

申请ssl证书

  1. 可以使用原帖教程申请证书或通过腾讯云let's encrypt免费申请证书,这里不再赘述
  2. 下载证书:下载nginx版本的证书(里面四个文件,后缀名分别是.csr、.key、.crt、.pem)
  3. 将证书放到nginx的程序目录下的ssl文件夹中,比如我的就是D:\nginx\ssl\[这里是四个证书文件]

配置nginx

  1. 打开配置文件,如D:\nginx\conf\nginx.conf,找到https_server的部分,将下面的注释取消掉,改动的内容我用下划线标出来了

    注意红圈这里,可以是除了5244的任意端口号,因为5244默认是我要代理的alist服务的http端口了,自然不能再作为它的https端口号。这里我改为了5245。其他改动一看便知不再赘述。
  2. 通过命令重新启动服务nginx -s reload
  3. 现在我们通过浏览器输入https://127.0.0.1:5245访问试试,浏览器如果提示不安全,那说明我们配置文件正确,接下来去openwrt里操作
  4. 去软路由设置端口转发,将内网的5245端口转发到外网任意端口即可,我仍然转发到了外网的5244端口,这样好处是,让5244成为了外网唯一访问alist服务的端口,而这个端口现在已经加上了https。所以更加安全。
  5. 搭配早已配置好的ddns服务,我们终于可以在公网使用https访问alist服务了。
没有标签
首页      我的作品      Windows服务如何使用Nginx配置https访问

大侠阿木博客

Windows服务如何使用Nginx配置https访问
我的需求 我的一台Win NAS上有一些内网服务如Alist等,需要通过公网进行访问,那除了端口转发和ddns之外,为了更好的安全性,https也是必须要配置的。因此查了一些资料,将自己的过程和…
扫描二维码继续阅读
2022-11-07