1. 程式人生 > >nginx http請求轉https

nginx http請求轉https

如果沒有nginx的話裝一個,如果要啟用http2,那麼版本要在1.90以上,然後先配置443埠,最後把http 80埠請求轉發到443。完整的配置參考下面,我部落格的配置:

#設定非安全連線永久跳轉到安全連線
server{
    listen 80;
    server_name m2mbob.cn;
    #告訴瀏覽器有效期內只准用 https 訪問
    add_header Strict-Transport-Security max-age=15768000;
    #永久重定向到 https 站點
    return 301 https://$server_name$request_uri;
}

server {
    #啟用 https, 使用 http/2 協議, nginx 1.9.11 啟用 http/2 會有bug, 已在 1.9.12 版本中修復.
listen 443 ssl http2 fastopen=3 reuseport; server_name m2mbob.cn www.m2mbob.cn; #告訴瀏覽器不要猜測mime型別 add_header X-Content-Type-Options nosniff; ssl on; #證書路徑 ssl_certificate 證書路徑; #私鑰路徑 ssl_certificate_key 私鑰路徑; #安全連結可選的加密協議 ssl_protocols TLSv1 TLSv1.1 TLSv1.2
; #可選的加密演算法,順序很重要,越靠前的優先順序越高. ssl_ciphers 'CHACHA20:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4;'
; #在 SSLv3 或 TLSv1 握手過程一般使用客戶端的首選演算法,如果啟用下面的配置,則會使用伺服器端的首選演算法. ssl_prefer_server_ciphers on; #儲存SSL會話的快取型別和大小 ssl_session_cache shared:SSL:10m; #快取有效期 ssl_session_timeout 60m; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:2368; } }
m2mbob 693 聲望 0

第一個方案>

配置2個監聽檔案,一個80埠負責http,一個443埠負責https

第二個方案>

server {
            listen 80 default;
            listen 443 ssl;
            server_name test.com;
            root /var/www/html;
            ssl_certificate /usr/local/Tengine/sslcrt/test.com.crt;
            ssl_certificate_key /usr/local/Tengine/sslcrt/test.com.key;
        }