為nginx配置https並自簽名證書

2021-08-19 18:43:22 字數 2288 閱讀 8593

2023年11月15日 22:30:47

閱讀數:5518

一、把證書準備好。 

步驟與使用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

openssl genrsa -des3 -out194xy94625.iok.la

.pem

1024

製作解密後的194xy94625.iok.la證書私鑰:

openssl rsa -in 194xy94625.iok.la.pem -out 194xy94625.iok.la.key
生成簽名請求:

openssl req -new -key 194xy94625.iok.la.pem -out194xy94625.iok.la

.csr

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

用ca進行簽名:

openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in 194xy94625.iok.la.csr -out 194xy94625.iok.la.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需要到的**私鑰194xy94625.iok.la.key和**證書194xy94625.iok.la.crt都準備完畢。接下來開始配置服務端。 

二、配置nginx 

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

listen 443

;ssl on;

ssl_certificate /path/to/194xy94625.iok.la.crt

;ssl_certificate_key /path/to/194xy94625.iok.la.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配置https並自簽名證書

步驟與使用openssl自簽發伺服器https證書所述大同小異。在這裡再重複一次。優化nginx效能 在http 中加入 ssl session cache shared ssl 10m ssl session timeout 10m 據官方文件所述,cache中的1m可以存放4000個sessio...

為nginx配置https並自簽名證書

一 把證書準備好。步驟與使用openssl自簽發伺服器https證書所述大同小異。在這裡再重複一次。1 製作ca證書 ca.key ca私鑰 openssl genrsa des3 out ca.key 2048 製作解密後的ca私鑰 一般無此必要 openssl rsa in ca.key out...

搭建nginx,並配置https

1 新增yum源 yum y install wget wget o etc yum.repos.d centos base.repo 使用阿里雲映象站的網路yum源 yum clean all yum makecache yum y install nc net tools vim tree ds...