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;
}
}
}
#以上一般修改红色部分就够用了