windows配置NGINX、NGINX配置SSL证书通过HTTPS访问、使用HTTPS通过NGINX代理访问服务器端项目

1、windows配置nginx

1)在nginx官网下载稳定版nginx,nginx官网:http://nginx.org/en/download.html

2)解压文件,注:存放目录最好不要带有中文,

3)在安装目录下按住 shift 加 鼠标右键,打开cmd命令行窗口,执行 start .\nginx.exe

4)打开浏览器,访问localhost,出现nginx的欢迎页面,表示nginx安装成功

附:关于windows操作nginx的命令,以下命令都需要在nginx的安装目录下打开CMD命令窗口执行。

启动nginx:start .\nginx.exe 

停止nginx:nginx.exe -s stop 快速停止nginx可能并不保存相关信息 或 nginx.exe -s quit 完整有序的停止nginx并保存相关信息。

改动配置文件后查看配置文件参数是否正确:.\nginx -t 出现successful表示配置文件没问题

改动配置文件后重新载入:.\nginx -s reload

查看nginx版本:.\nginx -v

2、NGINX配置SSL证书通过HTTPS访问

1)先根据自己系统的版本,下载安装OpenSSL:http://slproweb.com/products/Win32OpenSSL.html 

      下载完成之后安装到指定目录

2)为OpenSSL配置环境变量

变量名:OPENSSL_HOME

变量值:C:\Users\78425\OpenSSL-Win64\bin  改为你的OPENSSL安装目录

记得添加到path中

3)在nginx的安装目录创建存储SSL证书的文件夹

4)按住shift 点击鼠标右键,打开cmd命令窗口

5)首先创建私钥

 输入命令:openssl genrsa -des3 -out test.key 1024    

 注:test.key 是私钥文件名,随便取,无所谓

这里会让你给私钥设置一个密码,随便设置一个,我的是:123456

接着会让你再次设置一遍密码,和之前保持一致:123456

6)去除之前创建私钥设置的密码,不然配置到nginx后启动还要输入密码,太麻烦

首先复制一份test.key文件,命名为:test.key.org

输入命令:openssl rsa -in test.key.org -out test.key

然后输入之前设置的密码:123456

7)创建csr文件

输入命令:openssl req -new -key test.key -out test.csr

注:test.csr 是文件名,随便取,无所谓

接着会让你输入一些数据,如下图,其他的都无所谓,随便输,黄色框起来的是要输入你的SSL证书绑定的域名/访问地址。这里我绑定的是本机。

8)生成crt证书

输入命令:openssl x509 -req -days 365 -in test.csr -signkey test.key -out test.crt

然后打开之前在nginx创建的ssl文件夹,会有四个文件:

9)修改nginx的配置文件,达到我们可以通过 https://localhost 访问nginx欢迎页的目的

打开nginx目录下的config目录,打开nginx.conf配置文件,找到配置文件内被 #号 注释掉的SSL访问的配置参数。

去除 #号,把 ssl_certificate 和 ssl_certificate_key 两个参数改为我们生成的证书相关文件,如下图:

改完之后保存,在nginx的安装目录,打开cmd窗口,输入 .\nginx -s reload 重新载入配置文件

10)打开浏览器,输入 https://localhost ,你的浏览器可能会出现 “您的链接不是私密链接” 等提示信息,这时候点击高级,继续访问,出现下面的nginx欢迎页则表示成功!

3、使用HTTPS通过NGINX代理访问服务器端项目

1)打开nginx的配置文件,增加几个参数,如下图:

注释:    root  index

增加: proxy_pass http://xxx.xxx.xxx.xxx:8001;     # 服务器端IP及部署的项目访问端口
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;

改完之后保存,在nginx的安装目录,打开cmd窗口,输入 .\nginx -s reload 重新载入配置文件

2)打开浏览器,输入:https://localhost/index.html 如果可以正常访问服务器端的项目或页面,则成功!!!

注:我的理解,这里的 localhost 会被nginx反向代理到配置文件里配置的proxy_pass参数,也就是 https://localhost/index.html  等于 https://xxx.xxx.xx:8001/index.html

  • 20
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值