windows環境在本地配nginx


本地搭建了前端項目,但奈何有時候需要https訪問的需求,所以做了一個嘗試在本地(windows環境)下配置nginx,最終的效果就是

搭建的時候,遇到兩個問題:

第一個是如果要在本地搭建https,必須需要證書,那么如何在本地生成證書。

第二個是證書生成了以后,nginx如何配置。

先說第一個問題

1、需要下載一個生成證書的軟件庫包openssl,下載安裝以后,會像npm或者是node一樣,可以使用命令,就類似於這樣

這里我的下載地址是http://gnuwin32.sourceforge.net/packages/openssl.htm,下載的是Complete package, except sources這個文件。

下載完了以后是一個exe文件需要安裝一下,需要注意的是,要記錄一下安裝的地址,因為安裝完了以后,需要進入安裝路徑下的bin文件夾,才能執行openssl命令。

2、運行命令,生成密鑰key

openssl genrsa -des3 -out f:/zhengshu/server.key 2048

這里的生成路徑可自行修改,回車后會被要求輸入密碼,需要記住下一步要用。這樣在相關的路徑下就生成了一個server.key的文件。

3、使用命令,去掉密碼(需要上一步的密碼)

openssl rsa -in f:/zhengshu/server.key -out f:/zhengshu/server.key

4、創建證書的申請文件

openssl req -new -key f:/zhengshu/server.key -out f:/zhengshu/server.csr

這是,會報一個錯誤 Unable to load config info from /usr/local/ssl/openssl.cnf

是因為openssl找不到對應配置文件,找了一些教程,發現這個配置文件可以引用git里面的這個文件,那么可以修改一下變成這樣

openssl req -new -key f:/zhengshu/server.key -out f:/zhengshu/server.csr -config "D:\software\git\Git\mingw32\ssl\openssl.cnf"

其中D:\software\git\Git\mingw32\ssl\openssl.cnf這個文件是我本地安裝git的路徑。

然后輸入國家、姓名.....一大堆,隨便寫就好

在嘗試的時候這里的mail地址有時候輸幾次都不好,可能是格式有校驗。

5、使用上面的證書申請文件和CA證書,來創建自己的證書

openssl x509 -req -days 3650 -in f:/zhengshu/server.csr -CA f:/zhengshu/ca.crt -CAkey server.key -CAcreateserial -out f:/zhengshu/server.crt

這樣,在文件里最終有兩個文件,一個是ca.crt一個是server.key,證書生成完成。

第二個問題是nginx配置,這個比較簡單,安裝nginx后,這里先記錄幾個命令

  • start nginx 啟動服務器
  • nginx -s stop 快速停止服務器
  • nginx -s quit 完全正常停止
  • nginx -s reload 重新加載配置文件,修改后執行該命令即可

nginx默認端口是80端口。配置文件在conf下的nginx.config進行配置,先啟動nginx,一樣需要進入到nginx目錄,執行啟動命令,能正常訪問localhost:80頁面后,把nginx.config文件里面的HTTPS server打開,並把以前的server注掉。

標紅的路徑,是我放證書的路徑,至此配置完成。

------------------------------------------------------------------------------分割線-------------------------------------------------------------------------

把前端項目放到nginx上,如下圖

其中root為文件存放的路徑,index.html為文件名,這個配置只輸入localhost:70,就可以跳轉到index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM