這裏介紹的是騰訊雲申請證書的方式html
首先進入證書管理頁面,而後點擊申請證書nginx
申請免費版本的api
填寫相關信息tomcat
而後等待審覈經過服務器
證書審覈經過後,下載證書文件到本地,解壓後,這裏使用 nginx 文件內的文件session
將兩個文件上傳到服務器指定目錄下,待會會有使用到spa
首先肯定你的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模塊則表示成功
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 // 使配置生效
這裏直接貼出目前項目的配置
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; } }