下载与当前Windows系统版本对应的nginx,本次选择的是nginx-1.12.2版本。附上nginx下载地址:http://nginx.org/en/download.html
解压后,进入nginx文件夹,再进入conf目录,找到nginx.conf文件,按照如下配置,举例说明
upstream tomcat{ #这个是新加的配置,为了方便负载均衡,可配置多个,tomcat相当于形参,在下面的location中有用到
server 127.0.0.1:8085 weight=3; #server ip地址及端口号是你项目地址 weight权重,值越高被访问的几率越大
server 192.168.11.110:8080 weight=2;
}
server { #为了方便阅读,原配置中的注释已删除
listen 8888; #nginx占用的端口号,启动nginx时要保证此端口号未被占用,如果被占用可自行修改端口号
server_name localhost; # nginx本地服务
location / {
proxy_pass http://tomcat; #配置代理
proxy_connect_timeout 3; #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
proxy_read_timeout 2; #nginx服务器向被代理服务器组发出read请求后,等待响应的超时间,默认为60秒
proxy_send_timeout 2; #nginx服务器向被代理服务器组发出write请求后,等待响应的超时间,默认为60秒
proxy_ignore_client_abort on; #客户端断网时,nginx服务器是否中断对被代理服务器的请求。默认为off
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
下载地址:http://slproweb.com/products/Win32OpenSSL.html。(根据Windows系统版本下载32位或者64位,本次下载版本为Win64 OpenSSL v1.1.0i)。
下载完成后进行安装,本次安装地址为D:\OpenSSL-Win64文件夹。
在环境变量中添加环境变量,变量名为OPENSSL_HOME,变量值为D:\OpenSSL-Win64\bin(指向OpenSLL的安装路径)。
在环境变量path的末尾添加%OPENSSL_HOME%。
在环境变量中添加环境变量,变量名为 OPENSSL_CONF,变量值为 %OPENSSL_HOME%\openssl.cfg(指向openssl.cfg文件目录)。
(1)在nginx安装目录中创建ssl文件夹用于存放证书,如:D:\nginx-1.12.2\ssl。
以管理员的身份运行cmd.exe,进入ssl文件夹。
(2)创建私钥
在命令行中执行命令:openssl genrsa -des3 -out demo.key 1024(demo是文件名,可以自定义),此处要输入和验证密码(本次设置为123456),请记住改密码,后面会用到。
(3)创建csr证书
在命令行中执行命令:openssl req -new -key demo.key -out demo.csr(key文件为刚才生成的文件,demo为自定义文件名),如下图所示。这里主要设置的是国家地区以及组织名称等信息,最重要的是Common Name,这里输入的就是我们要用https访问的域名。完成以上步骤后,ssl文件夹中会生成demo.csr和demo.key两个文件。
(4)去除密码
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。
复制demo.key并重命名为demo.key.org。
在命令行中执行此命令:openssl rsa -in demo.key.org -out demo.key。如下图所示,此命令需要输入刚才设置的密码。
(5)生成crt证书
在命令行中执行此命令:openssl x509 -req -days 365 -in demo.csr -signkey demo.key -out demo.crt。
证书生成完毕,我们在ssl文件夹中可以看到生辰的证书文件,我们要用到的就是demo.crt和demo.key。
在nginx.conf文件夹中的如下位置
后面添加一个如下server
server {
listen 8181 ssl;
server_name www.demo.com;
ssl_certificate D:/nginx-1.12.2/ssl/demo.crt;
ssl_certificate_key D:/nginx-1.12.2/ssl/demo.key;
location / {
root html;
index index.html index.htm;
}
}
6.启动nginx
正常启动nginx后,使用https:www.demo.com访问,可以正常跳转。
注:本文参考了以下链接,加以整合:
https://blog.csdn.net/sunroyfcb/article/details/83592553
https://blog.csdn.net/songhfu/article/details/82500903
下次更新会作负载https的尝试