nginx ssl配置 实现http自动跳转到https

#性能配置 一般配置cpu的核数
worker_processes 64;
events {
worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;

       #设定虚拟主机配置1
  server {

    #监听5148端口,你的可能是80或者8080
    listen 5148;
    #如果有防火墙要映射内网ip到一个外网ip,这里写内网即服务器的ip
    server_name 192.168.0.172;

    location / {
    root html;
    index index.html index.htm;
    }
    #rewrite ^(.*) https://$host$1 permanent;

    #所有5148的请求都 跳转到https 处理
    return 301 https://$host$request_uri; 

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }

  }

  #设定虚拟主机配置2  
  server {

    #侦听443端口,这个是ssl访问端口
    listen 443 ssl;

    #定义使用 访问域名 #如果有防火墙要映射内网ip到一个外网ip,这里写内网即服务器的ip
    server_name 192.168.0.172;

    #定义服务器的默认网站根目录位置
    root /usr/share/nginx/html;

    ssl_certificate /opt/my_key_store.crt; #证书文件
    ssl_certificate_key /opt/my_store.key; #证书文件
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;0


    location ^~ /oms/ {
    proxy_redirect http:// https://; #这行解决服务器内部 http没跳转到https的问题
    proxy_set_header Host $host;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://192.168.0.172:7001/oms/;
    }

    #默认请求
    location / {
    root html;
    #定义首页索引文件的名称
    index index.html index.htm;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }

    #静态文件,nginx自己处理
    location ~ ^/(images|javascript|js|css|flash|media|static)/ {
    #过期30天,静态文件不怎么更新,过期可以设大一点,
    #如果频繁更新,则可以设置得小一点。
    expires 30d;
    }

  }

}

 

#以上一般修改红色部分就够用了

posted @ 2020-08-27 15:02  爱跳舞的程序员  阅读(987)  评论(0编辑  收藏  举报