1.安裝nginx
下載與當前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;
}
}
2.安裝OpenSLL
下載地址:http://slproweb.com/products/Win32OpenSSL.html。(根據Windows系統版本下載32位或者64位,本次下載版本爲Win64 OpenSSL v1.1.0i)。
下載完成後進行安裝,本次安裝地址爲D:\OpenSSL-Win64文件夾。
3.配置環境變量
在環境變量中添加環境變量,變量名爲OPENSSL_HOME,變量值爲D:\OpenSSL-Win64\bin(指向OpenSLL的安裝路徑)。
在環境變量path的末尾添加%OPENSSL_HOME%。
在環境變量中添加環境變量,變量名爲 OPENSSL_CONF,變量值爲 %OPENSSL_HOME%\openssl.cfg(指向openssl.cfg文件目錄)。
4.生成證書
(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。
5.修改nginx配置
在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的嘗試