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;

    }

  }

}

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