如何在CentOS 7上為Nginx建立自簽名的SSL證書

2021-04-24 10:18:55 字數 3618 閱讀 4496

1樓:飛天蛋仔

通常要配置 https 的服bai務器,都需要一個由du正式的 ca 機構認證zhi的 x509 證書。當客戶端連dao

接 https 服務內器時,會通過 ca 的共鑰來容檢查這個證書的正確性。

但要獲得 ca 的證書是一件很麻煩的事情,而且還要花費一定的費用。

因此通常一些小的機構會是使用自簽名的證書。

也就是自己做 ca,給自己的伺服器證書籤名。

如何在centos 7上為nginx建立自簽名的ssl證書

2樓:匿名使用者

1. 生成自簽名的證書

通常要配置 https 的服務

器,都需要一個由正式的 ca 機構認證的 x509 證書。當客戶端連線 https 伺服器時,會通過 ca 的共鑰來檢查這個證書的正確性。但要獲得 ca 的證書是一件很麻煩的事情,而且還要花費一定的費用。

因此通常一些小的機構會是使用自簽名的證書。也就是自己做 ca,給自己的伺服器證書籤名。

這個過程有兩個主要的步驟,首先是生成自己的 ca 證書,然後再生成各個伺服器的證書併為它們簽名。 我是用 openssl 來生成自簽名證書的。

第一步是製作 ca 的證書:

openssl genrsa -des3 -out my-ca.key 2048

openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt

這會生成 my-ca.key 和 my-ca.crt 檔案,前者存放著使用 my-ca.

crt 製作簽名時必須的金鑰,應當妥善保管。而後者是可以公開的。上面的命令為 my-ca.

key 設定的有效期為 10 年。

用命令openssl x509 -in my-ca.crt -text -noout

可以檢視 my-ca.crt 檔案的內容。

有了 ca 證書之後,就可以為自己的伺服器生成證書了:

openssl genrsa -des3 -out mars-server.key 1024

openssl req -new -key mars-server.key -out mars-server.csr

openssl x509 -req -in mars-server.csr -out mars-server.crt -sha1 -ca my-ca.

crt -cakey my-ca.key -cacreateserial -days 3650

前兩個命令會生成 key、csr 檔案,最後一個命令則通過 my-ca.crt 為 mars-server.csr 製作了 x509 的簽名證書。

需要注意的是,在執行上述第二個命令時,common name 選項應當輸入的是伺服器的域名,否則在使用者通過 https 協議訪問時每次都會有額外的提示資訊。

用命令openssl x509 -in mars-server.crt -text -noout

可以檢視 mars-server.crt 檔案的內容。

2. 配置 apache 伺服器

首先,建立 /etc/apache2/ssl 目錄,將剛剛製作的 my-ca.crt、mars-server.key 和 mars-server.crt 檔案拷貝到這個目錄中。

接著執行命令

a2emod ssl

啟用 apache 的 ssl 模組,然後在 /etc/apache2/sites-enable/ 中新增虛擬主機,這個過程與新增普通的虛擬主機類似,不同點在於該主機的埠應為 443。配置如下:

namevirtualhost *:443

servername localhost

documentroot /var/www

sslengine on

sslciphersuite high:medium

sslprotocol all -sslv2

sslcertificatefile /etc/apache2/ssl/mars-server.crt

sslcertificatekeyfile /etc/apache2/ssl/mars-server.key

sslcacertificatefile /etc/apache2/ssl/my-ca.crt

order deny,allow

allow from localhost

servername localhost

documentroot /var/www

order deny,allow

allow from localhost

以上配置保證了使用者在訪問 443 和 80 埠時可以看到相同的內容,而僅僅是使用的協議不同。修改好配置後,便可以重啟 apache 伺服器,這時需要輸入 mars-server.key 的密碼。

用瀏覽器訪問

這時應當看到一個彈出對話方塊,讓你確認是否信任該站點的證書,選擇信任後,便可以檢視該站點的內容了。

由於大多數 apache 伺服器都是在伺服器啟動時自動啟動,為了避免在啟動 apache 時輸入密碼,可以用以下命令生成不加密的 mars-server.key 檔案:

openssl rsa -in mars-server.key -out mars-server.key.insecure

用新生成的 mars-server.key.insecure 代替原有的 key 檔案即可。

3樓:匿名使用者

自簽名ssl證書存在安全隱患,也不受瀏覽器信任,建議不要安裝。如果是沒有預算,可以去正規ca機構申請免費ssl證書啊,網頁連結這個比較多人用,挺方便的不用自己寫**。

如何在centos 7上為nginx建立自簽名的ssl證書

4樓:匿名使用者

自簽名證書沒用的,不會被瀏覽器信任,您可以**gworg獲取信任ssl證書。

如何利用nginx配置https自簽名證書

5樓:匿名使用者

nginx安裝ssl證書:

com/ssl/107.htmlnginx 自動跳轉到https:https:

注:自簽名的證書不會被瀏覽器信任,您可以**gworg獲取公網信任證書。

如何在debian 8上為nginx建立自簽名ssl證書

6樓:匿名使用者

目前,有許多重要的公網可以訪問的**系統(如網銀系統)都在使用自籤ssl證書,即自建pki系統頒發的ssl證書,而不回是部署支援瀏覽器的ssl證書,這絕對是得不償失的重大決策失誤,自簽證

怎麼驗證nginx配置域名ssl證書成功

7樓:匿名使用者

https**可以正常開啟,那麼說明配置成功了。

8樓:匿名使用者

配置完成後重啟伺服器,然後用https訪問來測試是否配置成功。nginx配置ssl參考教材https://www.

怎樣在電腦上建私密資料夾,如何在電腦上建立祕密隱藏的資料夾?

超級兔子好像有這些功能,其實改變檔案字尾可以比較簡單的達到檔案不被其他人開啟的目的 資料夾好像不能加密,但檔案可以,建議你用一些工具來實現 windows優化大師,超級兔子都有這個功能 如何在電腦上建立祕密隱藏的資料夾?我有一招,可以製作出任何防毒軟體都粉碎不掉且無法使用普通方法刪除 開啟 複製 剪...

安裝了WIN7後,如何在桌面上建立「寬頻連線」的快捷方式

控制面板 網路和共享中心 更改介面卡設定,然後右鍵寬頻連線 建立快捷方式 網路設定裡面,在寬頻連線上右鍵就有一個建立快捷方式,建立就行了 win7怎樣建立寬頻連線快捷方式 控制面板 網路和共享中心 設定新的連線或網路 連線到internet 寬頻 然後輸入賬號密碼 點連線就行。之後 還是在網路和共享...

如何在桌面上為計算器建立快捷方式

開始 程式 附件中,找到計算器,右鍵,傳送到,桌面快捷方式 如果附件中沒有計算器,可開啟c windows system32,找到calc這個檔案,右鍵,傳送到桌面快捷方式 在桌面上建立 計算器 快捷方式的過程如下 開啟開始選單,依次選擇 所有程式 附件 找到 計算器 選項,點選滑鼠右鍵,選擇選項 ...