# 配置http访问的时候跳转到https
server {
# http访问的时候,默认访问的端口是80
listen 80;
# 匹配的域名
server_name www.baidu.com;
# 通过301跳转到https,$xxx,这些是nginx的变量
return 301 https://$host$request_uri;
}
# 负载均衡节点
upstream www_baidu{
# 一行一个,格式为 ip地址:端口 权重,权重越高负载时候分配的
# 请求数越多
server 127.0.0.1:8888 weight=1;
}
# https的配置
server {
# https访问的端口默认是443
listen 443;
# 匹配的域名
server_name www.baidu.com;
# 开启SSL功能
ssl on;
# 证书.pem文件所在位置,可以是绝对路径,这里写的是相对路径,
# 以nginx.conf文件所在路径为相对位置
ssl_certificate cert/www.baidu.com/5649110_baidu.com.pem;
# 证书.key文件所在位置
ssl_certificate_key cert/www.baidu.com/5649110_baidu.com.key;
# 证书session超时时间
ssl_session_timeout 5m;
# 以下3项是证书的加密与协议的,原样复制既可
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 反向代理设置 / 表示匹配 域名/ 后的所有请求路径
location / {
# 代理的节点,这里的www_baidu是一个集合,上面的upstream
# 因为上面只有一个节点,组合起来就是 http://127.0.0.1:8888
proxy_pass http://www_baidu;
# 配置处理上游服务器redirect,java接口项目无页面,一般关闭
proxy_redirect off;
# 以下配置转发请求头 ,这样在被代理的服务器可以拿到原始的
# 请求头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}