nginx配置https轉發http


 

 

 

生成ssl證書:

  1、首先要生成服務器端的私鑰,運行時會提示輸入密碼,此密碼用於加密key文件;

    openssl genrsa -des3 -out server.key 1024

  2、去除key文件口令的命令;

    openssl rsa -in server.key -out server.key

  3、生成根證書簽發申請文件(csr文件)

    使用上一步生成的私鑰(pem文件),生成證書請求文件(csr文件)

    openssl req -new -key server.key -out server.csr

  4、生成nginx端私鑰

    openssl rsa -in server.key -out server_nopwd.key

  5、使用OpenSSL對該證書進行自簽發,生成有效期10年的CA證書

    openssl x509 -req -days 3650 -in server.csr -signkey server_nopwd.key -out server.crt

  6、將server.crt證書添加瀏覽器受信任

    google瀏覽器為例:

      1.進入google瀏覽器設置;

      2、選擇顯示高級設置;

        

      3、點擊HTTPS/SSL下的“管理證書...”

        

      4、選擇“導入”

        

      4、點擊“下一步”

        

       5、點擊“瀏覽”,選擇剛剛生成的證書(server.crt),點擊“下一步”

        

      6、點擊“瀏覽”,選擇“受信任的根證書頒發機構”,點擊“下一步”

        

      7、點擊“完成”,完成證書導入。

        

Nginx配置:

  server{
   #比起默認的80 使用了443 默認 是ssl方式  多出default之后的ssl
        listen 443 default ssl;
   #default 可省略
   #開啟  如果把ssl on;這行去掉,ssl寫在443端口后面。這樣http和https的鏈接都可以用
      ssl on;
   #證書(公鑰.發送到客戶端的)
   ssl_certificate ssl/server.crt;
   #私鑰,
   ssl_certificate_key ssl/server.key;
   #下面是綁定域名
   server_name www.daj.com;
   location / {
    #禁止跳轉
    proxy_redirect off;
    #代理淘寶
    proxy_pass https://IP:PORT/;  
        }        
}

 

開啟Nginx的ssl模塊:

  1、the "ssl" parameter requires ngx_http_ssl_module  in /usr/local/nginx/conf/nginx.conf:37

    原因是nginx缺少http_ssl_module模塊,編譯安裝時帶上--with-http_ssl_module配置就可以了
  2、如果已經安裝過nginx,想要添加模塊看下面
    1)切換到nginx源碼包
      cd /usr/local/src/nginx-1.11.3
    2)查看ngixn原有的模塊
      /usr/local/nginx/sbin/nginx -V
    3)重新配置
      ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    4)重新編譯,不需要make  install安裝。否則會覆蓋
      make
    5)備份原有已經安裝好的nginx
      cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
    6)將剛剛編譯好的nginx覆蓋掉原來的nginx(ngixn必須停止)
      cp ./objs/nginx /usr/local/nginx/sbin/ 
      這時,會提示是否覆蓋,請輸入yes,直接回車默認不覆蓋
    7)啟動nginx,查看nginx模塊,發現已經添加
      /usr/local/nginx/sbin/nginx -V


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM