Windows下配置nginx負載均衡及https協議

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的嘗試

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章