nginx配置好后訪問會提示不安全

這時候就需要配置ssl證書,一般都是購買或者申請的,如果是內網可以用自簽名證書
前置條件要安裝openssl,centos7.9應該默認安裝
可以通過 以下指令查看版本
openssl version
首先安裝nginx,創建目錄,等會證書文件就放在這
mkdir /etc/nginx/ca
這里稍微說明一下ssl證書流程,除了一般的客戶端和服務端還有一個ca機構,主要負責頒發證書和驗證證書。當然我們離線自簽名證書,這個ca也就在服務端了。
key是服務器上的私鑰文件,用於對發送給客戶端數據的加密,以及對從客戶端接收到數據的解密
csr是證書簽名請求文件,用於提交給證書頒發機構(CA)對證書簽名
crt是由證書頒發機構(CA)簽名后的證書,或者是開發者自簽名的證書,包含證書持有人的信息,持有人的公鑰,以及簽署者的簽名等信息
主要就是這三個文件,我們依次來生成
我們進入到之前的文件夾里執行
openssl genrsa -des3 -out server.key 1024
這是生成key也就是私鑰,用來負責加解密,這里要輸入一個密碼后面要用到
接下來生成csr,也就是請求文件
openssl req -new -key server.key -out server.csr
正規流程是將請求文件給ca機構來簽名,我們自簽名直接生成就好
接下來要需要依次輸入國家,地區,城市,組織,組織單位,Common Name和Email,注意Common Name要和你域名一致
下一步就是生成證書
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
最后為了方便使用,去掉私鑰的密碼
openssl rsa -in server.pass.key -out server.key
在/etc/nginx/nginx.conf加上以下內容
ssl_certificate /etc/nginx/ca/server.crt; ssl_certificate_key /etc/nginx/ca/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:20m; ssl_session_timeout 180m;

這時候訪問https

發現還是提示,這是因為證書沒導入客戶端。
下載crt文件導入瀏覽器和電腦

*導入成功后刷新網站

edge可以了但是chrome貌似還不行,估計要自建ca來了,之后研究(可能要域名而不是ip)
