Nginx1.19.0、Centos7配置Https證書


本文主要記錄基於nginx1.19.0添加對SSL(https)證書的支持的主要操作,方便日后需要。

 

約定:

    本次操作目錄設定為/opt/soft/nginx/,也作為當前操作的約定目錄(cd /opt/soft/nginx/)

    代理機端口:7222,被代理端口:7111

准備:

  依賴庫:yum -y install wget gcc gcc-c++ pcre-devel openssl-devel

  中間件:tomcat,jdk>=1.8

  代理件:nginx >=1.19.0

 

一.下載nginx.1.19.0

  下載地址:https://nginx.org/en/download.html

二.解壓tar.gz文件到指定的目錄

  tar -xzvf nginx-1.19.0.tar.gz 

三.默認安裝
  cd nginx-1.19.0

  #配置 

  ./configure

  #編譯

  make 

  #安裝

  make install

  #備份

  cd /usr/local/nginx/sbin 

  cp nginx nginx-default (備份默認安裝)

四.定制模塊

  cd /opt/soft/nginx/nginx-1.19.0/

  #配置

  ./configure --with-http_stub_status_module --with-http_ssl_module --with-stream --with-stream_ssl_preread_module --with-stream_ssl_module  

  #編譯

  make

  #准備

  cd objs

  #復制

  cp nginx /usr/local/nginx/sbin/ (根據提示輸入y允許覆蓋)

五.重啟nginx

  systemctl stop nginx.service

  systemctl start nginx.service

六.證書准備

  准備好您從各證書頒發機構平台申請下來的證書,證書最核心的包含了.pfx,證書密碼兩部分信息 ;我們暫定證書名字為123456_www.xx.com.pfx 密碼為123456

七.Tomca配置

  7.1jdk.1.8  安裝准備

  7.2tomcat  123456_www.xx.com.pfx證書參數配置

  7.3tomcat     123456_www.xx.com.pfx證書配置接入

  7.4Win10   導入123456_www.xx.com.pfx證書

八.Nginx證書准備

  8.1nginx.conf  修改配置

    http節點內部底部新增配置  include webconf/*.conf;

  8.2新建配置目錄

    mkdir webconf

    mkdir ssl_certificate

  8.3上傳證書到 ssl_certificate

    上傳 123456_www.xx.com.pfx 證書

    a.導出證書

      openssl pkcs12 -in /usr/local/nginx/conf/ssl_certificate/123456_www.xx.com.pfx -out /usr/local/nginx/conf/ssl_certificate/123456_www.xx.com.crt -nodes -nokeys -nokeys

      根據提示輸入證書密碼

    b.導出私鑰

       openssl pkcs12 -in /usr/local/nginx/conf/ssl_certificate/123456_www.xx.com.pfx -out /usr/local/nginx/conf/ssl_certificate/123456_www.xx.com.key -nocerts

    c.公鑰不需

九.https配置

  9.1配置文件

    cd usr/local/nginx/conf/webconf

    vi https_demo.conf 

    保存退出

  9.2站點配置

    upstream https_demo_7222{
        server 192.168.1.140:7111 weight=1; 
    }


    
    server{
        keepalive_requests 120;
        listen 7222 ssl;
        server_name www.xx.com;

        ssl_certificate "/usr/local/nginx/conf/ssl_certificate/123456_www.xx.com.crt";
        ssl_certificate_key "/usr/local/nginx/conf/ssl_certificate/123456_www.xx.com.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        charset utf-8;
        client_max_body_size 300M;
        location / 
        {
                proxy_pass https://https_demo_7222;
                proxy_set_header REMOTE_ADDR $remote_addr;                
                proxy_set_header Host $host:$server_port;                
                proxy_set_header X-Real-IP $remote_addr;                
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto https;
        }
    }

    保存配置。

  9.3重啟nginx.

    systemctl stop nginx.service

    systemctl strat nginx.service

10收尾

  至此,基於nginx、tomcat、https證書的配置結束,此時可以通過https://www.xx.com:7222/進行訪問了。

 

    


免責聲明!

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



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