首先,使用openssl生成证书,执行以下3条命令(按照提示输入信息即可)。需要说明的是,以下示例中,命令执行的操作系统位置为:D:/ssl/verify,nginx中的配置,请自行调整为你自己的操作系统位置。
openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr
openssl req -new -x509 -key server.key -out ca.crt -days 3650
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
新增hosts映射,以windows为例,C:/Windows/System32/drivers/etc/hosts配置
127.0.0.1 ssl.52study.com
配置nginx,在nginx的conf目录下,新建vhosts_conf/vhosts_ssl_dev.conf配置文件。未关注过 Nginx配置代理多个服务及伪集群实现 的小伙伴,有兴趣可以先行了解一下,这里直接贴相关配置,需要说明的是,此处示例中的端口为:8888,请自行调整为你自己的服务端口。
upstream ssl.52study.com {
server 127.0.0.1:8888 weight=1;
}
server {
listen 80;
server_name 127.0.0.1;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443;
server_name 127.0.0.1;
ssl on;
ssl_certificate D:/ssl/verify/server.crt;
ssl_certificate_key D:/ssl/verify/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
client_max_body_size 16m;
client_body_buffer_size 128k;
proxy_pass http://ssl.52study.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_next_upstream off;
proxy_connect_timeout 30;
proxy_read_timeout 300;
proxy_send_timeout 300;
}
}
引入至nginx.conf
http {
...
include vhosts_conf/vhosts_ssl_dev.conf;
...
}
浏览器访问https://ssl.52study.com,即可访问你的项目了,需要注意的是,浏览器会提示该网站不安全,确定前往不安全的网站即可。