91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在nginx和IIS中使用ssl證書

發布時間:2021-06-21 18:09:01 來源:億速云 閱讀:340 作者:Leah 欄目:開發技術

怎么在nginx和IIS中使用ssl證書,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。


1、生成私鑰Key

  執行下面的命令生成私鑰Key:  

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

  生成過程中會讓輸入密碼,這里我測試使用的,直接輸入了:123456

  注:上面生成的demo.key中使用了-des3加密算法參數,所以在部署使用后,如果需要重啟,可能會要求輸入密碼確認,比如nginx -s reload時,這樣在自己測試使用時就很麻煩了

  解決辦法有兩個:

  a.生成密碼后再刪除密碼

  比如上面生成了一個demo.key的私鑰文件,執行下面的命令可以重置: 

sudo openssl rsa -in demo.key -out temp.key && sudo rm demo.key && sudo mv temp.key demo.key

  b.在生成私鑰是不要指定-des3參數

  比如上面的生成demo.key的命令換成:  

sudo openssl genrsa -out demo.key 1024

2、生成證書請求文件

  執行下面的命令生成證書請求文件:

sudo openssl req -new -key demo.key -out demo.csr
    # openssl req 命令主要的功能有,生成證書請求文件, 查看驗證證書請求文件,還有就是生成自簽名證書
   # -new 說明生成證書請求文件
   # -key demo.key 指定已有的秘鑰文件生成秘鑰請求,只與生成證書請求選項-new配合。
   # -out demo.csr 指定生成的證書請求或者自簽名證書名稱

  命令執行后會讓輸入一些證書信息,具體可參考下圖:

怎么在nginx和IIS中使用ssl證書

3、生成crt證書文件

  執行下面的命令生成證書文件:  

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

  如果提示類似如下,說明生成成功了:

怎么在nginx和IIS中使用ssl證書

4、生成pfx證書安裝包

  執行下面命令生成安裝包文件: 

sudo openssl pkcs12 -export -inkey demo.key -in demo.crt -out demo.pfx
    # openssl pkcs12 命令用于生成和分析pkcs12文件
   # -export 指定了一個PKCS#12文件將會被創建
   # -inkey demo.key 指定私鑰文件的位置。如果沒有被指定,私鑰必須在-in filename中指定
   # -in demo.crt 指定私鑰和證書讀取的文件
   # -out demo.pfx 指定輸出的pkcs12文件

  執行命令后會輸入密碼,這里我輸入同樣是:123456  

  至此,證書就制作完成了,我們得到4個文件: 

怎么在nginx和IIS中使用ssl證書

demo.crt:crt證書文件,nginx配置時可以用到
    demo.csr:crt證書請求文件,現在基本上沒什么用了
    demo.key:私鑰,nginx配置時可以用到
    demo.pfx:證書安裝包,iis部署時可以用到

Nginx配置使用證書

  創建一個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;
        }
  }

  注意,這里我為了區分,沒有使用默認的443端口,而是使用了4430端口

  接著使用 nginx -t 驗證和使用 nginx -s reload 重新加載后,使用瀏覽器訪問4430可訪問到了,只不過會提示存在風險,畢竟證書是自己制作的,如下圖:

怎么在nginx和IIS中使用ssl證書

  點擊高級=》接受風險就可以了

IIS配置使用證書   

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

  打開IIS,在主頁中點擊【服務器證書】

怎么在nginx和IIS中使用ssl證書

   點擊右邊操作的【導入】,選擇創建好的pfx證書文件,輸入創建文件時輸入的密碼(上面第4步創建pfx文件時輸入的密碼,這里是123456):

怎么在nginx和IIS中使用ssl證書

  接著選擇你要設置添加https請求類型的網站,在右邊操作中點擊【綁定】,然后按照下圖操作:

怎么在nginx和IIS中使用ssl證書

  然后重啟一下站點,在指定的端口使用https請求了

  注:如果你的電腦安裝了VMware等工具,443端口可能啟動報錯,可能提示:另一個程序正在使用此文件,進程無法訪問。解決辦法參考:http://www.neiyidaogou.com/article/109375.htm

程序中使用證書

  有時,我們還可能需要在程序中使用證書,比如在使用Grpc,我們默認是使用https的,或者我們只是想使用https請求,那么我們可能需要在程序中使用證書來操作,比如.net core中使用自制證書來生成https請求的項目:

  我們創建一個.net core的web項目,使用上面創建的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>();
                });
    }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

微山县| 阿鲁科尔沁旗| 射洪县| 英山县| 大新县| 淳化县| 阳西县| 桐柏县| 开鲁县| 锡林郭勒盟| 栾城县| 纳雍县| 龙游县| 延庆县| 嘉兴市| 泌阳县| 恭城| 樟树市| 会同县| 澜沧| 宁武县| 上高县| 庆云县| 黄梅县| 钦州市| 从化市| 龙口市| 永丰县| 永春县| 敦化市| 灵山县| 象山县| 榆社县| 仁布县| 高唐县| 沽源县| 大姚县| 韶山市| 嘉定区| 漳浦县| 太原市|