cari

Rumah  >  Soal Jawab  >  teks badan

Ubah hala HTTP Nginx ke HTTPS

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?

天蓬老师天蓬老师2791 hari yang lalu698

membalas semua(3)saya akan balas

  • 仅有的幸福

    仅有的幸福2017-05-16 17:16:12

    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;
        }
    }

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:16:12

    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;
            }

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:16:12

    Tulis dua konfigurasi

    Port 80 melonjak terus ke 443

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

    balas
    0
  • Batalbalas