nginx http请求转https

来源:互联网 发布:ip网络广播系统软件 编辑:程序博客网 时间:2024/05/20 19:48

如果没有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;    }}
  • 2016年09月24日更新
  • 评论
  • 赞赏
  • 编辑
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;        }
原创粉丝点击