nginx搭建https伺服器

2021-07-05 21:57:22 字數 1925 閱讀 5977

https(hypertext transfer protocol over secure socket layer),是以安全為目標的http通道,簡單來講就是http的安全版。即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。

它是乙個uri scheme(抽象識別符號體系),句法類同http:體系,用於安全的http資料傳輸。https使用的預設埠是443.

要設定安全伺服器,使用公共鑰建立一對公私鑰對。大多數情況下,傳送證書請求(包括自己的公鑰),你的公司證明材料以及費用到乙個證書頒發機構(ca).ca驗證證書請求及您的身份,然後將證書返回給您的安全伺服器。

但是內網實現乙個伺服器端和客戶端傳輸內容的加密,可以自己給自己頒發證書,只需要忽略掉瀏覽器不信任的警報即可!

由ca簽署的證書為您的伺服器提供兩個重要的功能:

html**  

openssl genrsa -des3 -out wangzhengyi.key 2048  

html**  

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

html**  

openssl req -new -x509 -days 3650 -key wangzhengyi_nopass.key -out wangzhengyi.crt  

html**  

upstream sslfpm   

server    

# redirect server error pages to the static page /50x.html  

#  error_page   500 502 503 504  /50x.html;  

error_page   404 /404.html;  

location = /50x.html   

location = /404.html   

# proxy the php scripts to fpm  

location ~ \.php$   

}  

方法ssl操作需要消耗cpu資源,所以在多處理器的系統,需要啟動多個工作程序,而且數量需要不少於可用cpu的個數。最消耗cpu資源的ssl操作是ssl握手,有兩種方法可以將每個客戶端的握手運算元量降到最低:

保持客戶端長連線,在乙個ssl連線傳送多個請求

在併發的連線或者後續的連線中重用ssl會話引數,這樣可以避免ssl握手操作。

會話快取用於儲存ssl會話,這些快取在工作程序間共享,可以使用ssl_session_cache指令進行配置。1m快取可以存放約4000個會話。預設的快取超時時間是5m,可以使用ssl_session_timeout加大它。

ssl_session_cache指令

html**  

語法:ssl_session_cache off|none|builtin:size|shared:name:size  

使用環境:main,server  

快取型別:  

off -- 硬關閉,nginx明確告訴客戶端這個會話不可重用  

none -- 軟關閉,nginx告訴客戶端會話能夠被重用,但是nginx實際上不會重用它們  

bultin -- openssl內建快取,僅可用於乙個工作程序.可能導致記憶體碎片  

shared -- 所有工作程序的共享快取。(1)快取大小用位元組數指定(2)每個快取必須擁有自己的名稱(3)同名的快取可用於多個虛擬主機  

優化示例

html**  

#優化ssl服務  

ssl_session_cache   shared:wzy:10m;   

#客戶端能夠重複使用儲存在快取中的會話引數時間  

ssl_session_timeout  10m;  

Nginx搭建https伺服器

https簡介 https hypertext transfer protocol over secure socket layer 是以安全為目標的http通道,簡單來講就是http的安全版。即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。它是乙個uri s...

nginx 搭建https伺服器

安裝在之前的文章中已經寫過了。但是之前的安裝出現了錯誤導致https沒有安裝成功。所以這裡提一下大致的流程以及問題 openssl v ersion 命令用來列印版本以及 openssl 其他各種資訊。用法 cpp view plain copy openssl version a v b o f ...

nginx搭建https伺服器

https hypertext transfer protocol over secure socket layer 是以安全為目標的http通道,簡單來講就是http的安全版。即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。它是乙個uri scheme 抽象...