Windows下用Nginx配置https伺服器

2022-08-11 02:27:09 字數 2772 閱讀 4886

以windows 10系統為例。

然後安裝在c:\openssl-win64下。

然後配置環境變數。在系統環境變數中新增環境變數:

變數名:openssl_home

變數值:c:\openssl-win64\bin;

(變數值為openssl安裝位置下的bin目錄)

並在path變數結尾新增一條: %openssl_home%

進入到c:\nginx目錄下,雙擊nginx.exe檔案即可啟動伺服器。在瀏覽器位址列輸入http://localhost,如果可以成功訪問到nginx的歡迎介面,則說明安裝成功。

1、首先在nginx安裝目錄中建立ssl資料夾用於存放證書。比如我的檔案目錄為 c:\nginx\ssl

在控制台中執行:

cd c:\nginx\ssl

2、建立私鑰

在命令列中執行命令:

openssl genrsa -des3 -out buduhuisi.key 1024     # buduhuisi檔名是自己隨便起即可

輸入密碼後,再次重複輸入確認密碼。記住此密碼,後面會用到。

3、建立csr證書

在命令列中執行命令:

openssl req -new -key buduhuisi.key -out buduhuisi.csr

其中key檔案為剛才生成的檔案。

執行上述命令後,需要輸入一系列的資訊。輸入的資訊中最重要的為common name,這裡輸入的網域名稱即為我們要使用https訪問的網域名稱 ,比如我輸入的是localhost。其它的內容隨便填即可。

以上步驟完成後,ssl資料夾內出現兩個檔案:buduhuisi.csr 和 buduhuis.key

4、去除密碼。

在載入ssl支援的nginx並使用上述私鑰時除去必須的口令,否則會在啟動nginx的時候需要輸入密碼。

複製buduhuisi.key並重命名為buduhuisi.key.org。

在命令列中執行如下命令以去除口令:

openssl rsa -in buduhuisi.key.org -out buduhuisi.key

然後輸入密碼,這個密碼就是上文中在建立私鑰的時候輸入的密碼。

5、生成crt證書

在命令列中執行此命令:

openssl x509 -req -days 365 -in buduhuisi.csr -signkey buduhuisi.key -out buduhuisi.crt

至此,證書生成完畢。我們發現,ssl資料夾中一共生成了4個檔案。下面,配置https伺服器的時候,我們需要用到的是其中的buduhuisi.crt和buduhuisi.key這兩個檔案。

我的這個檔案在c:\nginx\conf目錄下。用任意乙個編輯器(如sublime text之類)開啟這個nginx.conf檔案。

找到https server配置的那一段(即包含有listen 443 ssl配置那一段)。我們發現這段**被注釋掉了。所以,首先我們把該段**前面的#號去掉。然後分別修改其中的ssl_certificate和ssl_certificate_key配置項為剛才所生成的buduhuisi.crt和buduhuisi.key這兩個檔案的目錄。並配置server_name為localhost。修改後的該段配置如下:

server 

}

注意一下那兩個證書的檔案路徑的寫法。

在繼續後面的內容之前,先簡單介紹下windows命令列中操作nginx的幾個常用的語句:

start nginx               # 啟動nginx

nginx.exe -s stop # 快速停止nginx,可能並不儲存相關資訊

nginx.exe -s quit # 完整有序的停止nginx,並儲存相關資訊

nginx.exe -s reload # 重新載入nginx,當配置資訊修改,需要重新載入這些配置時使用此命令。

nginx.exe -s reopen # 重新開啟日誌檔案

nginx -v # 檢視nginx版本

因為修改了配置檔案,所以需要退出控制台,並重新開啟乙個控制台。執行如下命令:

cd c:\nginx

nginx.exe -s quit

start nginx

即退出nginx,然後再重新啟動它。這時候,在瀏覽器位址列輸入https://localhost並回車。

這時候,你可能看到「您的連線不是私密連線」的提示,單擊頁面中的「高階」,並接著單擊「繼續前往m.test.com(不安全)」,就可以看到nginx的歡迎介面了。說明https伺服器已經配置成功了。

如果你只想用https://localhost訪問這個https伺服器,那麼下面的內容你就不用接著往下看了。

但是,也許你可能還想要用乙個別的網域名稱(例如:來訪問這個伺服器。那麼怎麼做呢?這就需要繼續往下看了。

127.0.0.1  m.test.com

這樣,你就可以通過來訪問配置好的https伺服器了。

順便提一下,關於mac環境下如何對映乙個http路徑到乙個https路徑,可以通過charles工具來實現。參見這裡。

**:

windows下用nginx發布vue專案

2020 11 3 一.工作計畫 安裝配置 nginx 並執行vue專案 解決思路 1 安裝nginx 2 打包發布包 npm run build 3 配置nginx server location router 後台介面 location api error page 500 502 503 50...

windows下的virtualbox配置串列埠

windows下的virtualbox配置串列埠 因為需要讀取嵌入式裝置串列埠的資料,在virtualbox中啟動想讀物理機的串列埠com1,老是失敗。最後找了下別人講的,有幾個注意的地方,整理放下面。1.先保證usb裝置是啟用的 不知道是不是確定必須要,但我是這樣做的 2.在 設定 系統 擴充套件...

Memcached在Windows下的配置和使用

開啟控制台,進入memcached主程式目錄,輸入 memcached.exe d install 安裝memcached服務 memcached.exe d start 開啟memcached服務 此時會看到程序中多了乙個memcached的服務程序。開啟新的控制台,輸入 telnet 你的伺服器...