Nginx 配置https认证
本文主要讲述如何配置本地Nginx开发环境,重点讲述其对https支持的配置。
1. 安装
通过之前的文档(1.Mac环境Nginx的搭建以及使用.docx)我们肯定已经顺利的完成了Nginx在Mac环境上的搭。
Nginx基本命令
nginx -s stop # 快速关闭
nginx -s quit # 关闭
nginx -s reload # 重新加载配置文件
nginx -s reopen # 重新打开log
2. 配置 && 启动
安装好了以后,nginx服务默认已经启动,然而我们并不知道服务的端口、位置。
全局搜索配置文件:
|
发现位于如下位置:
|
打开,进行编辑
修改了http下面的server项。将root修改为绝对路径/www/,并注意到,server监听的端口为80。
|
此时创建目录/www/,将其所有者修改为当前用户(可选),并在该目录下添加index.html文件,添加少许内容,打开http://localhost:80即可浏览
cd / # 进入根目录
sudo mkdir www #创建www目录
sudo chown [user-name] /www/ #将www目录所有者更改为当前用户
cd /www #进入www目录
touch index.html #创建index.html
echo ABCD > index.html #在index.html中输入ABCD
运行结果如下:
此时,我们已经成功的启动了一个nginx静态服务器。可以在其目录下添加任何内容,并在本地8080端口访问。
3. 证书及https配置
通过上一篇文档(.jks文件转换成ctr,key文件) 我们可以使用其中的两份文件。
然后修改nginx.conf文件中HTTPS server 一段如下:
# HTTPS server
#
server {
listen 443 ssl;
注意需要修改域名
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
ssl_certificate server.crt;
ssl_certificate_key server.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
location / {
root /www/;
index index.html index.htm;
}
}
重启Nginx
nginx -s reload
如果遇到如下错误,请使用sudo重启Nginx。
nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)
于此同时,因为我们的证书需要以 *.ch.com 的域名,所以我们也要修改hosts文件的内容,加入如下内容:
127.0.0.1 myspring.ch.com
此时可以通过https://myspring.ch.com/访问,效果如下: