nginx 配置https
参考文档:
https://www.cnblogs.com/jingxiaoniu/p/6745254.html
http://www.cnblogs.com/kevingrace/p/6187072.html
一、生成相关文件
1、进去如下目录: cd /opt/ssl
2、创建目录,可以已域名进行区别。如:mkdir daxue.58.com
3、进入该目录 。cd daxue.58.com
4、创建服务器证书密钥文件 server.key:
openssl genrsa -des3 -out server.key 1024
输入密码,确认密码,自己随便定义,但是要记住,后面会用到。
5、创建服务器证书的申请文件 server.csr
openssl req -new -key server.key -out server.csr 一路enter即可。
6、备份一份服务器密钥文件
cp server.key server.key.org
7、去除文件口令
openssl rsa -in server.key.org -out server.key
8.生成证书文件server.crt
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
最终结果如下:
二、配置文件
1、进入如下目录:cd /etc/nginx/conf.d
2、创建对应集群的.conf文件。可以直接复制已有的,进行修改。
3、编辑.conf文件,添加如下内容:
server {
listen 443;
server_name daxue.58.com;
charset utf-8;
access_log /opt/log/nginx/daxue.58.com/daxue.58.com_https_access.log main;
error_log /opt/log/nginx/daxue.58.com/daxue.58.com_https_error.log error;
ssl on;
ssl_certificate /opt/ssl/testdaxue/server.crt;
ssl_certificate_key /opt/ssl/testdaxue/server.key;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
set $host_pass bp_web_fangcms_pool;
proxy_next_upstream http_502 error timeout invalid_header;
proxy_pass http://bp_web_fangcms_pool;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_address;
proxy_set_header X-Real-IP $remote_address;
proxy_set_header HTTPS-Tag "HTTPS";
proxy_set_header X-Forwarded-Proto $scheme;
}
三、沙箱http和https可以同时访问
添加如下配置:rewrite ^(.*)$ https://daxue.58.com$1 permanent;