1、配置之前需先安装nginx,mac安装命令:brew install nginx,安装好后nginx的配置在/usr/local/etc/nginx下。
2、安装完成后确认nginx支持ssl,通过命令nginx -V查看安装版本是否带有参数--with-http_ssl_module。
3、若有证书直接放到自定义目录【一般放在和nginx的配置相同目录下】,然后修改nginx配置【可跳过第4步】。
4、通过openssl命令生成证书,在/usr/local/etc/nginx/config下创建目录mkdir ssl_key【只能用来本地调试】:
4.1:生成秘钥:openssl genrsa -des3 -out server.key 1024 【运行后按照提示输入密码】
4.2:生成csr文件:openssl req -new -key server.key -out server.csr 【用于生成证书,该过程需要填一些信息,按照提示填写即可】
4.3:生成证书:openssl x509 -req -in server.csr -out server.pem -signkey server key -days 3650
4.4:若想后续启动和关闭ngin免密的话可以再生产秘钥:openssl rsa -in server.key -out server.key.unsecure
5、配置nginx.conf:
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;#这里若有实际域名配真实域名
ssl_certificate /usr/local/etc/nginx/ssl_key/server.pem;
ssl_certificate_key /usr/local/etc/nginx/ssl_key/server.key;#若想免密这里填server.key.unsecure
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
6、若想将http请求重定向为https则在http server下增加配置rewrite ^(.*)$ https://$server_name$request_uri? permanent;
server {
listen 80;
server_name localhost;
rewrite ^(.*)$ https://$server_name$request_uri? permanent;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}
7、重启nginx生效 nginx -s stop & nginx
8、最后在浏览器输入https://localhost,会提示错误,在当前页面直接输入thisisunsafe可进入。
本文暂时没有评论,来添加一个吧(●'◡'●)