當前位置 主頁 > 服務器問題 > nginx問題匯總 > 最大化 縮小

    Nginx搭建HTTPS服務器和強制使用HTTPS訪問的方法

    欄目:nginx問題匯總 時間:2018-12-10 16:56

    這篇文章主要介紹了Nginx搭建HTTPS服務器和強制使用HTTPS訪問的方法,即從HTTP跳轉到HTTPS,需要的朋友可以參考下

    HTTPS簡介
    HTTPS(Hyper Text Transfer Protocol Secure),是一種基于SSL/TLS的HTTP,所有的HTTP數據都是在SSL/TLS協議封裝之上進行傳輸的。HTTPS協議是在HTTP協議的基礎上,添加了SSL/TLS握手以及數據加密傳輸,也屬于應用層協議。Https使用的默認端口是443。更多HTTPS原理可以參考阮一峰老師的文章:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

    SSL證書
    證書類型簡介
    要設置安全服務器,使用公共鑰創建一對公私鑰對。大多數情況下,發送證書請求(包括自己的公鑰),你的公司證明材料以及費用到一個證書頒發機構(CA)。CA驗證證書請求及您的身份,然后將證書返回給您的安全服務器。
    但是內網實現一個服務器端和客戶端傳輸內容的加密,可以自己給自己頒發證書,只需要忽略掉瀏覽器不信任的警報即可!
    由CA簽署的證書為您的服務器提供兩個重要的功能:

        瀏覽器會自動識別證書并且在不提示用戶的情況下允許創建一個安全連接。     當一個CA生成一個簽署過的證書,它為提供網頁給瀏覽器的組織提供身份擔保。

        多數支持ssl的web服務器都有一個CA列表,它們的證書會被自動接受。當一個瀏覽器遇到一個其授權CA并不在列表中的證書,瀏覽器將詢問用戶是否接受或拒絕連接。

    制作CA證書
    ca.key CA私鑰:

        openssl genrsa -des3 -out ca.key 2048  

    2015816174647523.jpg (768×167)

        ca.crt CA根證書(公鑰):

    openssl req -new -x509 -days 365 -key ca.key -out ca.crt

    2015816174708350.jpg (901×376)

    制作網站的證書并用CA簽名認證
    這里,假設網站域名為www.example.com,生成com.example.com證書私鑰:

     

      openssl genrsa -des3 -out www.example.com.pem 1024 

    2015816174727737.jpg (826×165)

        制作解密后的www.example.com證書私鑰:

      openssl rsa -in www.example.com.pem -out www.example.com.key 

    2015816174745612.jpg (937×71)

        生成簽名請求:

      openssl req -new -key www.example.com.pem -out www.example.com.csr 

       

    2015816174821668.jpg (1005×491)

        可以在Common Name中填入網站域名,即可生產該網站的證書。
    用CA進行簽名:

       復制代碼 代碼如下: openssl ca -policy policy_anything -days 365 -cert ca.crt -keyfile ca.key -in www.example.com.csr -out www.example.com.crt  可能執行簽名時,會出現“I am unable to access the ./demoCA/newcerts directory”問題:

    2015816174842731.jpg (566×98)

    解決方法:

      mkdir -p demoCA/newcerts   touch demoCA/index.txt   touch demoCA/serial   echo "01" > demoCA/serial 
    
教我怎样炒股