nginx證書生成

2021-10-03 16:55:06 字數 2040 閱讀 4695

一、把證書準備好。

步驟與使用openssl自簽發伺服器https證書所述大同小異。在這裡再重複一次。

1、製作ca證書:

ca.key ca私鑰:

openssl genrsa -des3 -out ca.key 2048

製作解密後的ca私鑰(一般無此必要):

openssl rsa -in ca.key -out ca_decrypted.key

ca.crt ca根證書(公鑰)

openssl req -new -x509 -days 7305 -key ca.key -out ca.crt

2、製作生成**的證書並用ca簽名認證

在這裡,假設**網域名稱為test.test.com

生成test.test.com證書私鑰:

openssl genrsa -des3 -out test.test.com.pem 1024

製作解密後的test.test.com證書私鑰:

openssl rsa -in test.test.com.pem -out test.test.com.key

生成簽名請求:

openssl req -new -key test.test.com.pem -out test.test.com.csr

在common name中填入**網域名稱,如test.test.com即可生成改站點的證書,同時也可以使用泛網域名稱如*.test.com來生成所有二級網域名稱可用的**證書。

用ca進行簽名:

openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in test.test.com.csr -out test.test.com.crt

其中,policy引數允許簽名的ca和**證書可以有不同的國家、地名等資訊,days引數則是簽名時限。

如果在執行簽名命令時,出現「i am unable to access the …/…/ca/newcerts directory」

修改/etc/pki/tls/openssl.cnf中「dir = ./ca」

然後:mkdir -p ca/newcerts

touch ca/index.txt

touch ca/serial

echo 「01」 > ca/serial

再重新執行簽名命令。

最後,把ca.crt的內容貼上到blog.creke.net.crt後面。這個比較重要!因為不這樣做,可能會有某些瀏覽器不支援。

好了,現在https需要到的**私鑰blog.creke.net.key和**證書blog.creke.net.crt都準備完畢。接下來開始配置服務端。

二、配置nginx

新開乙個虛擬主機,並在server{}段中設定:

listen 443;

ssl on;

ssl_certificate /path/to/blog.creke.net.crt;

ssl_certificate_key /path/to/blog.creke.net.key;

其中的路徑是剛剛生成的**證書的路徑。

檢測配置:

nginx -t

nginx -s reload

三、優化nginx配置

1、優化nginx效能

在http{}中加入:

ssl_session_cache shared:ssl:10m;

ssl_session_timeout 10m;

據官方文件所述,cache中的1m可以存放4000個session。

在配置https的虛擬主機server{}中加入:

keepalive_timeout 70;

2、有時候,會發現,在phpmyadmin等程式登入後會錯誤地跳轉http的問題。解決方法是定位至「location ~ .*.(php|php5)?${}」在include fcgi.conf;或者在fastcgi_param配置後面加上:

Nginx自有證書生成

req distinguished name req distinguished name x509 extensions root ca req distinguished name 以下內容可隨意填寫 countryname cn 2 letter code countryname min 2c...

證書生成 通配證書生成的方法

今天幫乙個朋友搞了點事情,我提供了乙個可完全隱藏wkwebview並且能載入web的sdk提供給對方使用,為了防止sdk在多個專案的復用,限制了這個sdk只能在具體的某個bundle id下執行,正常情況下這樣是沒有問題的。通過換bundle id進行真機測試的方案很合理,但是針對現在這種需要特定的...

ssl證書生成

openssl req new x509 days 3650 nodes out opt ssl certs postfix.pem keyout opt ssl private postfix.pem第乙個是證書,第二個是key 私鑰 可以應用在很多程式上。下面舉兩個例子 nginx postfi...