Nginx設(shè)置全站HTTPS


最近突然好多朋友要弄全站https,特意也整理了一下設(shè)置的方法

一、準(zhǔn)備證書

首先科普一下SSL證書類型

按審核方式分類:

1.域名驗證DV SSL證書

2.企業(yè)驗證OV SSL證書

3.企業(yè)增強/擴展驗證EV SSL證書

按照功能分類

1.多域名 UCC/SAN SSL證書

2.強加密SGC SSL證書

3.通配符Wildcard SSL證書

4.代碼簽名Code Signing SSL證書

申請證書過期不同代理商都不一樣,自己領(lǐng)悟去吧,實驗使用的是阿里云申請的免費DV SSL證書,只需要免費購買,填補一下資料即可。

二、配置Nginx

1.將下載的ssl證書上傳到服務(wù)器

2.#mkdir /opt/nginx/conf/key

將對應(yīng)server配置為如下

server {

server_name? test.test.cn;

access_log? logs/host.access.log? main;

listen 80;

listen 443 ssl;##開放兩個端口為了兼容http

ssl_certificate? /opt/nginx/conf/key/test.test.cn.pem;

ssl_certificate_key? /opt/nginx/conf/key/test.test.cn.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://upstream_group;

proxy_set_header Host? $http_host;

proxy_set_header Cookie $http_cookie;

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;

client_max_body_size? 100m;

add_header 'Access-Control-Allow-Origin' '*';

add_header 'Access-Control-Allow-Credentials' 'true';

add_header 'Access-Control-Allow-Methods' 'POST, GET, OPTIONS,PUT,DELETE';

add_header 'Access-Control-Allow-Headers' '*,token';

}

}

這樣既可開啟https。

三、設(shè)置強制http跳轉(zhuǎn)https

1.雖然前面已經(jīng)實現(xiàn)了https,但是你回發(fā)現(xiàn)登錄后還是跳轉(zhuǎn)回http,這時候需要開啟全站https的話,則需要將http請求強制轉(zhuǎn)為https

加入如下配置

if ($server_port = 80) {

return 301 https://$server_name$request_uri;

}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容