第一步、安裝OpenSSL
(1)下載OpenSSL軟件包
地址:https://slproweb.com/products/Win32OpenSSL.html
OpenSSL版本說(shuō)明:
Win64 OpenSSL v1.1.1wLight,安裝Win64 OpenSSL v1.1.1w最常用的軟件包
Win64 OpenSSL v1.1.1w,安裝Win64 OpenSSL v1.1.1w完整軟件包
Win32 OpenSSL v1.1.1w Light,安裝Win32 OpenSSL v1.1.1w最常用的軟件包
Win32 OpenSSL v1.1.1w,安裝Win32 OpenSSL v1.1.1w完整軟件包
(2)、安裝
選擇安裝目錄
注意?? 這一步,“Select Additional Tasks”,選擇第二項(xiàng) The OpenSSL binaries(/bin) directory。
原因:如果選擇第一項(xiàng),拷貝到系統(tǒng)目錄,當(dāng)其他軟件使用的OpenSSL版本我們安裝這個(gè)版本不同時(shí),可能導(dǎo)致該軟件無(wú)法使用。
所以選擇將dll安裝在OpenSSL安裝目錄下即可。
取消贊助,直接點(diǎn)完成即可。
(3)、驗(yàn)證安裝
直接在cmd中,輸入命令,查看OpenSSL版本
openssl version -a
如果你和我一樣,并不是我們安裝的OpenSSL 1.1.1w版本, 該怎么辦呢?
如圖:
解決方法:
在系統(tǒng)環(huán)境變量 path 字段中,將我們新安裝的openssl目錄移動(dòng)到頂部即可。
再次驗(yàn)證,查看OpenSSL版本正確。
第二步、使用 OpenSSL 生成 SSL Key 和 CSR 文件
openssl req -new -newkey rsa:2048 -sha256 -nodes -out game_123.csr -keyout game_123.key -subj "/C=CN/ST=Sichuan/L=Chengdu/O=Nubomed Inc./OU=Web Security/CN=test.game.com"
下面是上述命令相關(guān)字段含義:
-new:指定生成一個(gè)新的CSR文件。
-nodes:指定密鑰文件不被加密。
-sha256:指定摘要算法。
-newkey rsa:2048:指定密鑰類型和長(zhǎng)度。
-subj :相關(guān)字段含義
-
C:Country ,單位所在國(guó)家,為兩位數(shù)的國(guó)家縮寫(xiě),如: CN 是中國(guó)
-
ST 字段: State/Province ,單位所在州或省
-
L 字段: Locality ,單位所在城市 / 或縣區(qū)
-
O 字段: Organization ,單位名稱
-
OU 字段: Organization Unit,下屬部門(mén)名稱,也常用于顯示證書(shū)相關(guān)信息,如證書(shū)類型、證書(shū)產(chǎn)品名稱、身份驗(yàn)證類型、驗(yàn)證內(nèi)容等
-
CN 字段: Common Name ,網(wǎng)站域名
第三步、生成crt文件
openssl x509 -trustout -req -days 3650 -in game_123.csr -signkey game_123.key -out game_123.crt
第四步、下載nginx
下載地址:http://nginx.org/en/download.html
第五步、解壓nginx-1.18.0.zip,在根目錄下創(chuàng)建ssl文件夾,將上面生成的crt證書(shū)和key文件,復(fù)制到該目錄下
第六步、修改配置文件nginx.conf
http內(nèi)添加:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket{
server localhost:123;
}
server添加:
server {
listen 123;
server_name game.123.com;
ssl on;
ssl_certificate D:/nginx-1.18.0/ssl/game_123.crt;
ssl_certificate_key D:/nginx-1.18.0/ssl/game_123.key;
ssl_session_timeout 30m;
ssl_verify_client off;
location / {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
如圖:
第七步,啟動(dòng) nginx 服務(wù)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-834661.html
第八步、測(cè)試wss連接方式文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-834661.html
wss://game.123:123/
到了這里,關(guān)于windows下采用 nginx配置websocket支持wss流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!