1. 程式人生 > 其它 >配置nginx實現https訪問

配置nginx實現https訪問

安裝nginx

官網下載和系統匹配的nginx,解壓即可

安裝OpenSSL

若網站有https的證書跳過2、3、4步即可,若沒有證書則需要自己生成

由於代理https需要使用證書,這裡我們使用OpenSSL生成自簽名的證書,可以下載與系統相匹配的OpenSSL程式進行安裝,安裝過程一直下一步即可,下載地址

配置環境變數

  1. 新增環境變數 OPENSSL_HOME,變數值為 D:\OpenSSL-Win64,指向OpenSSL的安裝路徑
  2. 新增環境變數 OPENSSL_CONF,變數值為 D:\OpenSSL-Win64\bin\openssl.cfg,指向openssl.cfg檔案目錄
  3. 在環境變數path的末尾新增 %OPENSSL_HOME%\bin

生成證書

在nginx安裝目錄建立 ssl資料夾,用於存放證書,如我的是 F:\nginx-1.16.1\ssl,以管理員許可權執行cmd並進入建立的ssl目錄

建立私鑰

在命令列中執行命令 openssl genrsa -des3 -out demo.key 1024 ,demo是私鑰檔名,可以自定義,此處需要輸入和驗證密碼,輸入的密碼請記住,後面會用到,這裡輸入的密碼是 123456

建立crs證書

在命令列中執行 openssl req -new -key demo.key -out demo.csr,其中key檔案就是第一步生成的私鑰,demo為自定義的檔名,如下所示,這裡主要設定的是國家地區以及組織的一些資訊,其中最重要的是 Common Name

,這裡輸入的就是我們要用https訪問的域名,也是nginx中所要配置的 server_name,完成所有步驟後,ssl資料夾中會生成demo.csr和demo.key兩個檔案

去除密碼

在載入SSL支援的Nginx並使用上述私鑰時除去必須的口令,否則會在啟動nginx的時候需要輸入密碼。複製demo.key並重命名為demo.key.org。
在命令列中執行此命令:openssl rsa -in demo.key.org -out demo.key 如下圖所示,此命令需要輸入剛才設定的密碼。

生成crt證書

在命令列中執行此命令:openssl x509 -req -days 365 -in demo.csr -signkey demo.key -out demo.crt

證書生成完畢,我們在ssl資料夾中可以看到生辰的證書檔案,我們要用到的就是demo.crt和demo.key。

修改nginx配置

在nginx.conf配置檔案中新增一個如下server

server {
        listen  443 ssl;
        server_name  www.demo.com;
        ssl_certificate      F:/nginx-1.16.1/ssl/demo.crt;
        ssl_certificate_key  F:/nginx-1.16.1/ssl/demo.key;

        location / {
          root   html;
          index  index.html index.htm;
        }
    }

啟動nginx

正常啟動nginx後,使用 https://127.0.0.1:443 訪問,可以正常跳轉

本文來自部落格園,作者:風煙景,轉載請註明原文連結:https://www.cnblogs.com/wrxiang/p/15145252.html