修改Nginx配置實現https請求

2021-09-24 09:52:05 字數 1868 閱讀 4747

一、linux下生成https的crt和key證書

key 是私用金鑰openssl格,通常是rsa演算法。

csr 是證書請求檔案,用於申請證書。在製作csr檔案的時,必須使用自己的私鑰來簽署申,還可以設定乙個金鑰。

crt是ca認證後的證書文,(windows下面的,其實是crt),簽署人用自己的key給你簽署的憑證。

1.key的生成

openssl genrsa -des3 -out server.key 2048
這樣是生成rsa私鑰,des3演算法,openssl格式,2048位強度。server.key是金鑰檔名。為了生成這樣的金鑰,需要乙個至少四位的密碼。可以通過以下方法生成沒有密碼的key:

openssl rsa -in server.key -out server.key
server.key就是沒有密碼的版本了。 

2. 生成ca的crt

openssl req -new -x509 -key server.key -out ca.crt -days 3650
生成的ca.crt檔案是用來簽署下面的server.csr檔案。 

3. csr的生成方法

openssl req -new -key server.key -out server.csr
需要依次輸入國家,地區,組織,email。最重要的是有乙個common name,可以寫你的名字或者網域名稱。如果為了https申請,這個必須和網域名稱吻合,否則會引發瀏覽器警報。生成的csr檔案交給ca簽名後形成服務端自己的證書。 

4. crt生成方法

csr檔案必須有ca的簽名才可形成證書,可將此檔案傳送到verisign等地方由它驗證,要交一大筆錢,何不自己做ca呢。

openssl x509 -req -days 3650 -in server.csr -ca ca.crt -cakey server.key -cacreateserial -out server.crt
輸入key的金鑰後,完成證書生成。-ca選項指明用於被簽名的csr證書,-cakey選項指明用於簽名的金鑰,-caserial指明序列號檔案,而-cacreateserial指明檔案不存在時自動生成。

最後生成了私用金鑰:server.key和自己認證的ssl證書:server.crt

證書合併:

cat server.key server.crt > server.pem
二、修改nginx配置

1. 檢測命令如下(測試

nginx

是否支援

ssl)

nginx -v

如果有顯示

表示已編譯

openssl

,支援安裝

ssl。

nginx

原始碼重新編譯,

make install2. 修改nginx配置,最後重啟即可使用https訪問

server 

location /

}

Nginx實現HTTP快取

使用proxy cache path屬性進行配置。語法如下 syntax proxy cache path path levels levels keys zone name size inactive time max size size 引數 作用path 快取存放根路徑 levels 表示快取...

nginx配置http跳轉https

基於nginx搭建了乙個https訪問的虛擬主機,監聽的網域名稱是test.com,但是很多使用者不清楚https和http的區別,會很容易敲成這時會報出404錯誤,所以我需要做基於test.com網域名稱的http向https的強制跳轉 我總結了三種方式,跟大家共享一下 這應該是大家最容易想到的方...

Nginx 重啟 nginx 停止 修改配置後生效

url 的rpm包自己打的 url 搜到別人說 quote 某網民 ps aux grep nginx找到nginx的程序號 kill hup x 程序號 quote 於是,我就想那就這樣唄 ps ax grep mongrel awk xargs kill hup quote 其中 color o...