nginx 配置 https

第一步、申請SSL證書

 

這裏介紹的是騰訊雲申請證書的方式html

首先進入證書管理頁面,而後點擊申請證書nginx

申請免費版本的api

填寫相關信息tomcat

而後等待審覈經過服務器

 

第二步、下載證書

 

證書審覈經過後,下載證書文件到本地,解壓後,這裏使用 nginx 文件內的文件session

將兩個文件上傳到服務器指定目錄下,待會會有使用到spa

 

第三步、配置 nginx  ssl_module 模塊

 

首先肯定你的nginx安裝http_ssl_module模塊代理

注意最後一行 configure arguments 若是顯示這樣,說明已經安裝否則則是沒有安裝code

若是沒有安裝,則要首先安裝一下server

進入nginx源碼包

#cd /usr/nginx/XXX     輸入你的nginx源碼包路徑

配置nginx參數,安裝http_ssl_module模塊

#./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

編譯

#make

備份原有已安裝好的nginx

#cp /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.bak

而後將剛剛編譯好的nginx覆蓋掉原有的nginx(這個時候nginx要中止狀態)

#cp ./objs/nginx /usr/local/nginx/sbin/

再次查看nginx安裝的模塊

#/usr/local/nginx/sbin/nginx -V

若是出現已經有http_ssl_module模塊則表示成功

 

 

第四步、配置nginx.conf

 

https配置80端口,當輸入 www.xxx.com 會自動轉到 https://www.xxx.com

server {
    listen 443;
    server_name xxx.com; // 你的域名
    ssl on;
    root /var/www/bjubi.com; // 前臺文件存放文件夾,可改爲別的
   
    ssl_certificate  cert/214292799730473.crt;// 改爲你的證書的 .crt 文件存放路徑
    ssl_certificate_key cert/214292799730473.key;// 改爲你的證書的 .key 文件存放路徑
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        index index.html index.htm;
    }
}
server {
    listen 80;
    server_name bjubi.com;// 你的域名
    rewrite ^(.*)$ https://$host$1 permanent;// 把http的域名請求轉成https
}

https配置 tomcat  8080 端口      注意:80 端口訪問方式還是 http。

輸入 http://www.xxx.com 等價於  www.xxx.com:80

輸入 https://www.xxx.com 等價於 www.xxx.com:8080

server {
    listen 443;
    server_name xxx.com; // 你的域名
    ssl on;
    root /var/www/xxx.com; // 前臺文件存放文件夾,可改爲別的
   
    ssl_certificate  cert/214292799730473.crt;// 改爲你的證書的 .crt 文件存放路徑
    ssl_certificate_key cert/214292799730473.key;// 改爲你的證書的 .key 文件存放路徑
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
              proxy_pass http://127.0.0.1:8080/;
              index  dashboard index;
              proxy_set_header Host       $http_host;
              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 $scheme;
	    } 
}
server {
    listen 80;
    server_name xxx.com;// 你的域名
    location / {
            root   /home/wwwroot/default;
            index  index.html index.htm;
        }
}

 

配置文件更改後,進入nginx安裝目錄

 cd   /usr/local/nginx/sbin

$ ./nginx -t // 檢查nginx配置文件

檢查沒問題後,從新加載nginx配置文件

$ ./nginx -s reload // 使配置生效

 

第五步、配置nginx二級域名https

這裏直接貼出目前項目的配置

server {
        listen       443 ssl;
        server_name  hongonew.com;#主域名配置
		
		ssl on;
        ssl_certificate      /usr/ssl_certificate/1_www.hongonew.com_bundle.crt;#主域名SSL證書
        ssl_certificate_key  /usr/ssl_certificate/2_www.hongonew.com.key;#主域名SSL證書

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

          location / {
              proxy_pass http://127.0.0.1:8080/;#主域名反向代理到8080端口
              index  dashboard index;
              proxy_set_header Host       $http_host;
              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 $scheme;
	    } 
    }
	
	server {
        listen       443 ssl;
        server_name  api.hongonew.com;#二級域名配置
		
		ssl on;
        ssl_certificate      /usr/ssl_certificate/1_api.hongonew.com_bundle.crt;#二級域名SSL證書
        ssl_certificate_key  /usr/ssl_certificate/2_api.hongonew.com.key;#二級域名SSL證書

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

          location / {
              proxy_pass http://127.0.0.1:7080/;#二級域名反向代理到7080端口
              index  dashboard index;
              proxy_set_header Host       $http_host;
              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 $scheme;
	    } 
    }
相關文章
相關標籤/搜索