制作能在nginx和IIS中使用的ssl證書
如果覺得證書制作比較麻煩,這里是本文制作好的證書:https://pan.baidu.com/s/1MJ5YmuZiLBnf-DfNR_6D7A (提取碼:c6tj),密碼都是:123456
園友可下載證書,然后根據(jù)后文nginx和IIS的使用方法來(lái)使用證書。
制作SSL證書
好了,先創(chuàng)建一個(gè)空目錄,在這個(gè)空目錄下開始制作:
1、生成私鑰Key
執(zhí)行下面的命令生成私鑰Key:
sudo openssl genrsa -des3 -out demo.key 1024 # openssl genrsa 命令是會(huì)用來(lái)生成RSA私有秘鑰,不會(huì)生成公鑰,因?yàn)楣€提取自私鑰 # -des3 指定加密私鑰文件用的算法,可以不用指定加密算法(自己測(cè)試用的話推薦不指定加密算法),可選:-des|-des3|-idea # -out demo.key 將生成的私鑰保存至指定文件 # 1024 指定要生成的私鑰的長(zhǎng)度(單位 bit),默認(rèn)為1024,一般要么就是1024或者2048
生成過程中會(huì)讓輸入密碼,這里我測(cè)試使用的,直接輸入了:123456
注:上面生成的demo.key中使用了-des3加密算法參數(shù),所以在部署使用后,如果需要重啟,可能會(huì)要求輸入密碼確認(rèn),比如nginx -s reload時(shí),這樣在自己測(cè)試使用時(shí)就很麻煩了
解決辦法有兩個(gè):
a.生成密碼后再刪除密碼
比如上面生成了一個(gè)demo.key的私鑰文件,執(zhí)行下面的命令可以重置:
sudo openssl rsa -in demo.key -out temp.key && sudo rm demo.key && sudo mv temp.key demo.key
b.在生成私鑰是不要指定-des3參數(shù)
比如上面的生成demo.key的命令換成:
sudo openssl genrsa -out demo.key 1024
2、生成證書請(qǐng)求文件
執(zhí)行下面的命令生成證書請(qǐng)求文件:
sudo openssl req -new -key demo.key -out demo.csr # openssl req 命令主要的功能有,生成證書請(qǐng)求文件, 查看驗(yàn)證證書請(qǐng)求文件,還有就是生成自簽名證書 # -new 說(shuō)明生成證書請(qǐng)求文件 # -key demo.key 指定已有的秘鑰文件生成秘鑰請(qǐng)求,只與生成證書請(qǐng)求選項(xiàng)-new配合。 # -out demo.csr 指定生成的證書請(qǐng)求或者自簽名證書名稱
命令執(zhí)行后會(huì)讓輸入一些證書信息,具體可參考下圖:
3、生成crt證書文件
執(zhí)行下面的命令生成證書文件:
sudo openssl x509 -req -days 36500 -in demo.csr -signkey demo.key -out demo.crt # openssl x509 命令主要用于輸出證書信息,簽署證書請(qǐng)求文件、生成自簽名證書、轉(zhuǎn)換證書格式等 # -req 表明后面輸入的是一個(gè)證書請(qǐng)求文件 # -days 36500 證書的有效期,單位是天(一百年后我們?cè)僖姲桑? # -in demo.csr 指定輸入文件 # -signkey demo.key 簽名證書秘鑰 # -out demo.crt 指定證書的輸出文件
如果提示類似如下,說(shuō)明生成成功了:
4、生成pfx證書安裝包
執(zhí)行下面命令生成安裝包文件:
sudo openssl pkcs12 -export -inkey demo.key -in demo.crt -out demo.pfx # openssl pkcs12 命令用于生成和分析pkcs12文件 # -export 指定了一個(gè)PKCS#12文件將會(huì)被創(chuàng)建 # -inkey demo.key 指定私鑰文件的位置。如果沒有被指定,私鑰必須在-in filename中指定 # -in demo.crt 指定私鑰和證書讀取的文件 # -out demo.pfx 指定輸出的pkcs12文件
執(zhí)行命令后會(huì)輸入密碼,這里我輸入同樣是:123456
至此,證書就制作完成了,我們得到4個(gè)文件:
demo.crt:crt證書文件,nginx配置時(shí)可以用到 demo.csr:crt證書請(qǐng)求文件,現(xiàn)在基本上沒什么用了 demo.key:私鑰,nginx配置時(shí)可以用到 demo.pfx:證書安裝包,iis部署時(shí)可以用到
Nginx配置使用證書
創(chuàng)建一個(gè)nginx配置配置文件:
server { listen 4430 ssl; listen [::]:4430 ssl; ssl on; ssl_certificate /home/feng/ssl/demo.crt; #crt證書文件 ssl_certificate_key /home/feng/ssl/demo.key; #私鑰文件 ssl_session_timeout 5m; ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
注意,這里我為了區(qū)分,沒有使用默認(rèn)的443端口,而是使用了4430端口
接著使用 nginx -t 驗(yàn)證和使用 nginx -s reload 重新加載后,使用瀏覽器訪問4430可訪問到了,只不過會(huì)提示存在風(fēng)險(xiǎn),畢竟證書是自己制作的,如下圖:
點(diǎn)擊高級(jí)=》接受風(fēng)險(xiǎn)就可以了
IIS配置使用證書
IIS配置證書需要pfx證書安裝包(demo.pfx),這里以IIS7為例:
打開IIS,在主頁(yè)中點(diǎn)擊【服務(wù)器證書】
點(diǎn)擊右邊操作的【導(dǎo)入】,選擇創(chuàng)建好的pfx證書文件,輸入創(chuàng)建文件時(shí)輸入的密碼(上面第4步創(chuàng)建pfx文件時(shí)輸入的密碼,這里是123456):
接著選擇你要設(shè)置添加https請(qǐng)求類型的網(wǎng)站,在右邊操作中點(diǎn)擊【綁定】,然后按照下圖操作:
然后重啟一下站點(diǎn),在指定的端口使用https請(qǐng)求了
注:如果你的電腦安裝了VMware等工具,443端口可能啟動(dòng)報(bào)錯(cuò),可能提示:另一個(gè)程序正在使用此文件,進(jìn)程無(wú)法訪問。解決辦法參考:http://www.dbjr.com.cn/article/109375.htm
程序中使用證書
有時(shí),我們還可能需要在程序中使用證書,比如在使用Grpc,我們默認(rèn)是使用https的,或者我們只是想使用https請(qǐng)求,那么我們可能需要在程序中使用證書來(lái)操作,比如.net core中使用自制證書來(lái)生成https請(qǐng)求的項(xiàng)目:
我們創(chuàng)建一個(gè).net core的web項(xiàng)目,使用上面創(chuàng)建的demo.pfx,修改Program.cs:
public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.ConfigureKestrel(options => { options.ListenAnyIP(5000, listenOptions => { listenOptions.UseHttps(@"C:\inetpub\wwwroot\demo.pfx", "123456"); }); }); webBuilder.UseStartup<Startup>(); }); }
啟動(dòng)之后就可以使用https請(qǐng)求訪問了
以上就是制作能在nginx和IIS中使用的ssl證書的詳細(xì)內(nèi)容,更多關(guān)于制作ssl證書的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Nginx?CertBot配置HTTPS泛域名證書Debian及常見問題
- python腳本監(jiān)聽域名證書過期時(shí)間并通知消息到釘釘(最新推薦)
- shell腳本檢查域名證書是否過期的流程分析
- iis提示尚未創(chuàng)建默認(rèn)SSL站點(diǎn),若要支持不帶SNI 功能的瀏覽器,建議創(chuàng)建一個(gè)默認(rèn)SSL站點(diǎn)
- IISCrypto(SSL/TLS一鍵配置工具) iis服務(wù)器如何開啟tls v1.2協(xié)議
- 一個(gè)SSL證書在線轉(zhuǎn)換工具以及IIS7環(huán)境下開通https的方法
- IIS站點(diǎn)綁定/切換SSL證書的實(shí)現(xiàn)
- IIS10服務(wù)器安裝SSL證書的圖文教程
- iis服務(wù)器如何安裝ssl證書
- IIS服務(wù)器配置阿里云https(SSL)證書的方法
- Microsoft?iis服務(wù)器安裝ssl證書(https)的簡(jiǎn)單方法
- IIS綁定SSL證書的方法(圖文詳解)
- 在win2008 r2 英文版 IIS7.5上配置Https,SSL的方法
- 有了SSL證書,如何在IIS環(huán)境下部署https
- startssl申請(qǐng)SSL證書 并且配置 iis 啟用https協(xié)議
- win2000服務(wù)器在IIS中使用SSL配置HTTPS網(wǎng)站
- IIS7下配置SSL的方法分析
- World Wide Web Publishing 服務(wù)嘗試刪除 IIS 所有的 SSL 配置數(shù)據(jù)失敗的幾種方法
- windows server 2019 IIS10配置SSL或更新域名證書(https)
相關(guān)文章
Nginx access.log日志詳解及統(tǒng)計(jì)分析小結(jié)
nginx有一個(gè)非常靈活的日志記錄模式,本文主要介紹了Nginx access.log日志詳解及統(tǒng)計(jì)分析小結(jié),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03Nginx 正向代理和反向代理的配置實(shí)現(xiàn)
Nginx通過優(yōu)秀的架構(gòu)設(shè)計(jì)和高效的算法實(shí)現(xiàn)了高性能和高可靠性,本文主要介紹了Nginx 正向代理和反向代理的配置實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-06-06Nginx配置Basic Auth登錄認(rèn)證的實(shí)現(xiàn)方法
這篇文章主要介紹了Nginx配置Basic Auth登錄認(rèn)證的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-09-09nginx proxy_buffer_size解決后端服務(wù)傳輸數(shù)據(jù)過多,header過大問題
這篇文章主要介紹了nginx proxy_buffer_size解決后端服務(wù)傳輸數(shù)據(jù)過多,header過大問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Nginx中定義404頁(yè)面并且返回404狀態(tài)碼的正確方法
這篇文章主要介紹了Nginx中定義404頁(yè)面并且返回404狀態(tài)碼的正確方法,本文在一次AJAX調(diào)用時(shí)發(fā)現(xiàn)了這個(gè)問題,服務(wù)器返回了一個(gè)404頁(yè)頁(yè)但沒有返回404狀態(tài)碼,需要的朋友可以參考下2014-08-08使用Nginx實(shí)現(xiàn)服務(wù)器中多容器共存的方法
這篇文章主要介紹了使用Nginx實(shí)現(xiàn)服務(wù)器中多容器共存的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10Nginx下Frp強(qiáng)制重定向?yàn)閔ttps配置詳解
這篇文章主要介紹了Nginx下Frp強(qiáng)制重定向?yàn)閔ttps配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2019-04-04Nginx服務(wù)器中使用gzip壓縮的相關(guān)配置解析
這篇文章主要介紹了Nginx服務(wù)器中使用gzip壓縮的相關(guān)配置解析,包括對(duì)gzip請(qǐng)求處理相關(guān)的壓縮配置,需要的朋友可以參考下2015-12-12keepalived結(jié)合nginx實(shí)現(xiàn)nginx高可用的方法
這篇文章主要介紹了keepalived結(jié)合nginx實(shí)現(xiàn)nginx高可用的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-03-03