Windows下Nginx配置SSL实现Https访问
一、安装Nginx
官方下载地址:http://nginx.org/en/download.html
直接下载1.13.5版本的链接 链接:https://pan.baidu.com/s/1dXGOZO 密码:fjih
二、安装Openssl
实现Https首先需要向管理机构申请证书,所以通过Openssl自己生成证书。首先我们需要用到生成证书的Openssl软件
官方下载地址:http://www.openssl.org/source/ 不过官方没有提供window版本,可使用第三方openssl软件
感觉比较好用的:链接:https://pan.baidu.com/s/1o96oaaY 密码:0kbq
三、生成密钥
安装完成Openssl后运行OpenSSL\bin下的openssl.exe文件执行下列命令(管理员身份):
1.创建私钥
genrsa -des3 -out *.key 1024
2. 创建csr证书
req -new -key *.key -out *.csr (key文件为刚才生成的文件)
3.去除密码
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。复制lee.key并重命名为lee.key.org
rsa -in *.key.org -out *.key
4. 生成crt证书
x509 -req -days 365 -in *.csr -signkey *.key -out *.crt
*是你自己起的文件名 这里统一使用gf,会提示设个密码,后面会用到这个密码。第二个文件需要提供一些参数 国家、省市、公司域名等。
执行以上步骤,总共会生成四个文件。
5.拷贝密钥证书到nginx
nginx下新建文件夹ssl,拷贝gf.crt gf.key到ssl下
四、配置nginx.conf文件
找到nginx-1.13.5/conf下的nginx.conf文件编辑:
把HTTPS server注释部分释放出来
#HTTPS server
server {
listen 443 ssl;
server_name localhost;
ssl on;
ssl_certificate D:/gfxiang/work/env/nginx-1.13.5/ssl/gf.crt;
ssl_certificate_key D:/gfxiang/work/env/nginx-1.13.5/ssl/gf.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080/ting-api-gateway/;
}
}