Ubah hala HTTP Nginx ke HTTPS
天蓬老师
天蓬老师 2017-05-16 17:14:12
0
3
667

Seluruh tapak menggunakan HTTPS, dan hanya port 443 dibuka. Walau bagaimanapun, ia tidak boleh diakses apabila menggunakan permintaan http dan pengepala protokol https mesti ditambah secara manual.

Adakah terdapat cara untuk mengubah hala permintaan http pada port 80 ke 443 untuk menggunakan https?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(3)
仅有的幸福

Jika anda tidak mempunyai nginx, pasangkannya Jika anda ingin mendayakan http2, versi mestilah melebihi 1.90, kemudian konfigurasikan port 443 dahulu, dan akhirnya majukan permintaan port http 80 ke 443. Untuk konfigurasi lengkap, sila rujuk konfigurasi blog saya di bawah:

#设置非安全连接永久跳转到安全连接
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;
    }
}
给我你的怀抱

Pelan pertama>

    配置2个监听文件,一个80端口负责http,一个443端口负责https

Pelan kedua>

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;
        }
淡淡烟草味

Tulis dua konfigurasi

Port 80 melonjak terus ke 443

pelayan {
dengar 80;
nama_pelayan nama domain anda
tulis semula ^(.*)$ https://$host$1 kekal;
}

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan