最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

制作能在nginx和IIS中使用的ssl證書(shū)

 更新時(shí)間:2021年06月21日 16:14:05   作者:沒(méi)有星星的夏季  
現(xiàn)在的后端開(kāi)發(fā),動(dòng)不動(dòng)就是需要https,或者說(shuō)是需要ssl證書(shū),既然沒(méi)有正版的證書(shū),那么我們只能自己制作ssl的證書(shū)了。 證書(shū)的制作采用的是openssl工具,如果沒(méi)有,可以自行安裝下,因?yàn)楣P者是在linux(ubuntu)下制作,所以一般是使用包管理工具(apt)安裝好了的

  如果覺(jué)得證書(shū)制作比較麻煩,這里是本文制作好的證書(shū):https://pan.baidu.com/s/1MJ5YmuZiLBnf-DfNR_6D7A (提取碼:c6tj),密碼都是:123456

  園友可下載證書(shū),然后根據(jù)后文nginx和IIS的使用方法來(lái)使用證書(shū)。

制作SSL證書(shū)

  好了,先創(chuàng)建一個(gè)空目錄,在這個(gè)空目錄下開(kāi)始制作:

1、生成私鑰Key

  執(zhí)行下面的命令生成私鑰Key:  

    sudo openssl genrsa -des3 -out demo.key 1024
    # openssl genrsa 命令是會(huì)用來(lái)生成RSA私有秘鑰,不會(huì)生成公鑰,因?yàn)楣€提取自私鑰
   # -des3  指定加密私鑰文件用的算法,可以不用指定加密算法(自己測(cè)試用的話(huà)推薦不指定加密算法),可選:-des|-des3|-idea
   # -out demo.key  將生成的私鑰保存至指定文件
   # 1024  指定要生成的私鑰的長(zhǎng)度(單位 bit),默認(rèn)為1024,一般要么就是1024或者2048

  生成過(guò)程中會(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、生成證書(shū)請(qǐng)求文件

  執(zhí)行下面的命令生成證書(shū)請(qǐng)求文件:

    sudo openssl req -new -key demo.key -out demo.csr
    # openssl req 命令主要的功能有,生成證書(shū)請(qǐng)求文件, 查看驗(yàn)證證書(shū)請(qǐng)求文件,還有就是生成自簽名證書(shū)
   # -new 說(shuō)明生成證書(shū)請(qǐng)求文件
   # -key demo.key 指定已有的秘鑰文件生成秘鑰請(qǐng)求,只與生成證書(shū)請(qǐng)求選項(xiàng)-new配合。
   # -out demo.csr 指定生成的證書(shū)請(qǐng)求或者自簽名證書(shū)名稱(chēng)

  命令執(zhí)行后會(huì)讓輸入一些證書(shū)信息,具體可參考下圖:

3、生成crt證書(shū)文件

  執(zhí)行下面的命令生成證書(shū)文件:  

    sudo openssl x509 -req -days 36500 -in demo.csr -signkey demo.key -out demo.crt
    # openssl x509 命令主要用于輸出證書(shū)信息,簽署證書(shū)請(qǐng)求文件、生成自簽名證書(shū)、轉(zhuǎn)換證書(shū)格式等
   # -req 表明后面輸入的是一個(gè)證書(shū)請(qǐng)求文件
   # -days 36500 證書(shū)的有效期,單位是天(一百年后我們?cè)僖?jiàn)吧)
   # -in demo.csr 指定輸入文件
   # -signkey demo.key 簽名證書(shū)秘鑰
   # -out demo.crt 指定證書(shū)的輸出文件

  如果提示類(lèi)似如下,說(shuō)明生成成功了:

4、生成pfx證書(shū)安裝包

  執(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 指定私鑰文件的位置。如果沒(méi)有被指定,私鑰必須在-in filename中指定
   # -in demo.crt 指定私鑰和證書(shū)讀取的文件
   # -out demo.pfx 指定輸出的pkcs12文件

  執(zhí)行命令后會(huì)輸入密碼,這里我輸入同樣是:123456  

  至此,證書(shū)就制作完成了,我們得到4個(gè)文件: 

    demo.crt:crt證書(shū)文件,nginx配置時(shí)可以用到
    demo.csr:crt證書(shū)請(qǐng)求文件,現(xiàn)在基本上沒(méi)什么用了
    demo.key:私鑰,nginx配置時(shí)可以用到
    demo.pfx:證書(shū)安裝包,iis部署時(shí)可以用到

Nginx配置使用證書(shū)

  創(chuàng)建一個(gè)nginx配置配置文件:  

  server {
        listen 4430 ssl;
        listen [::]:4430 ssl;

        ssl on;
        ssl_certificate /home/feng/ssl/demo.crt;  #crt證書(shū)文件
        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ū)分,沒(méi)有使用默認(rèn)的443端口,而是使用了4430端口

  接著使用 nginx -t 驗(yàn)證和使用 nginx -s reload 重新加載后,使用瀏覽器訪(fǎng)問(wèn)4430可訪(fǎng)問(wèn)到了,只不過(guò)會(huì)提示存在風(fēng)險(xiǎn),畢竟證書(shū)是自己制作的,如下圖:

  點(diǎn)擊高級(jí)=》接受風(fēng)險(xiǎn)就可以了

IIS配置使用證書(shū)   

  IIS配置證書(shū)需要pfx證書(shū)安裝包(demo.pfx),這里以IIS7為例:

  打開(kāi)IIS,在主頁(yè)中點(diǎn)擊【服務(wù)器證書(shū)】

   點(diǎn)擊右邊操作的【導(dǎo)入】,選擇創(chuàng)建好的pfx證書(shū)文件,輸入創(chuàng)建文件時(shí)輸入的密碼(上面第4步創(chuàng)建pfx文件時(shí)輸入的密碼,這里是123456):

  接著選擇你要設(shè)置添加https請(qǐng)求類(lèi)型的網(wǎng)站,在右邊操作中點(diǎn)擊【綁定】,然后按照下圖操作:

  然后重啟一下站點(diǎn),在指定的端口使用https請(qǐng)求了

  注:如果你的電腦安裝了VMware等工具,443端口可能啟動(dòng)報(bào)錯(cuò),可能提示:另一個(gè)程序正在使用此文件,進(jìn)程無(wú)法訪(fǎng)問(wèn)。解決辦法參考:http://www.fzitv.net/article/109375.htm

程序中使用證書(shū)

  有時(shí),我們還可能需要在程序中使用證書(shū),比如在使用Grpc,我們默認(rèn)是使用https的,或者我們只是想使用https請(qǐng)求,那么我們可能需要在程序中使用證書(shū)來(lái)操作,比如.net core中使用自制證書(shū)來(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)求訪(fǎng)問(wèn)了

以上就是制作能在nginx和IIS中使用的ssl證書(shū)的詳細(xì)內(nèi)容,更多關(guān)于制作ssl證書(shū)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 提升Nginx性能的一些建議

    提升Nginx性能的一些建議

    這篇文章主要介紹了提升Nginx性能的一些建議,幫助大家更好的使用nginx,感興趣的朋友可以了解下
    2020-09-09
  • Nginx虛擬主機(jī)的搭建的實(shí)現(xiàn)步驟

    Nginx虛擬主機(jī)的搭建的實(shí)現(xiàn)步驟

    本文主要介紹了Nginx虛擬主機(jī)的搭建的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Nginx如何實(shí)現(xiàn)pathinfo模式的方法詳解

    Nginx如何實(shí)現(xiàn)pathinfo模式的方法詳解

    pathinfo是偽靜態(tài)的一種,對(duì)于用過(guò)thinkphp的朋友們來(lái)說(shuō)應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Nginx如何實(shí)現(xiàn)pathinfo模式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-09-09
  • 解決國(guó)內(nèi)k8s的ingress-nginx鏡像無(wú)法正常pull拉取問(wèn)題

    解決國(guó)內(nèi)k8s的ingress-nginx鏡像無(wú)法正常pull拉取問(wèn)題

    本文主要介紹了解決國(guó)內(nèi)k8s的ingress-nginx鏡像無(wú)法正常pull拉取問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • nginx中root和alias指令的使用

    nginx中root和alias指令的使用

    這篇文章主要介紹了nginx中root和alias指令的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Nginx如何限制IP訪(fǎng)問(wèn)只允許特定域名訪(fǎng)問(wèn)

    Nginx如何限制IP訪(fǎng)問(wèn)只允許特定域名訪(fǎng)問(wèn)

    我們?cè)谑褂玫臅r(shí)候會(huì)遇到很多的惡意IP攻擊,這個(gè)時(shí)候就要用到Nginx 禁止IP訪(fǎng)問(wèn)了,下面這篇文章主要給大家介紹了關(guān)于Nginx如何限制IP訪(fǎng)問(wèn)只允許特定域名訪(fǎng)問(wèn)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • nginx實(shí)現(xiàn)單主機(jī)多域名映射的項(xiàng)目實(shí)踐

    nginx實(shí)現(xiàn)單主機(jī)多域名映射的項(xiàng)目實(shí)踐

    本文主要介紹了nginx實(shí)現(xiàn)單主機(jī)多域名映射的項(xiàng)目實(shí)踐,配置不同的子域名映射到不同的內(nèi)部服務(wù)端口,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • nginx中封禁ip和允許內(nèi)網(wǎng)ip訪(fǎng)問(wèn)的實(shí)現(xiàn)示例

    nginx中封禁ip和允許內(nèi)網(wǎng)ip訪(fǎng)問(wèn)的實(shí)現(xiàn)示例

    Nginx不僅僅只是一款反向代理和負(fù)載均衡服務(wù)器,本文主要介紹了nginx中封禁ip和允許內(nèi)網(wǎng)ip訪(fǎng)問(wèn)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

    2022-03-03
  • Nginx禁止訪(fǎng)問(wèn)php文件的方法總結(jié)

    Nginx禁止訪(fǎng)問(wèn)php文件的方法總結(jié)

    當(dāng)涉及到禁止訪(fǎng)問(wèn) PHP 文件時(shí),有多種方法可以考慮,以下是十多種方法的詳細(xì)說(shuō)明,以及如何在 Nginx 中應(yīng)用它們,需要的朋友可以參考下
    2023-09-09
  • nginx帶寬限制?limit_rate?limit_rate_after指令

    nginx帶寬限制?limit_rate?limit_rate_after指令

    這篇文章主要為大家介紹了nginx帶寬限制?limit_rate?limit_rate_after指令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04

最新評(píng)論

尼玛县| 明星| 太仆寺旗| 莱西市| 谷城县| 济南市| 九江市| 昌都县| 海盐县| 察雅县| 丽江市| 宁陵县| 遵化市| 监利县| 永修县| 周宁县| 开远市| 花垣县| 崇明县| 兴化市| 玛纳斯县| 衡东县| 北海市| 凤山县| 栖霞市| 江门市| 昌宁县| 香格里拉县| 栖霞市| 西峡县| 洪湖市| 玉门市| 定结县| 武胜县| 郸城县| 丹阳市| 揭西县| 博爱县| 东乌| 乐陵市| 锡林浩特市|