mac 安装nginx并配置SSL实现Https访问
2020-03-02 本文已影响0人
Crassus
一、安装
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install nginx 安装nginx
nginx -v 显示版本号
找到Nginx文件夹
cd /usr/local/etc/nginx
启动nginx
sudo nginx
or
nginx
关闭nginx
sudo nginx -s stop
重启nginx
sudo nginx -s reload
检查nginx配置
nginx -t nginx.conf
or
sudo nginx -t nginx.conf
查日志
cd /usr/local/var/log/nginx
tail -f access.log
tail -f error.log
如果没有此两项文件需要自行创建在目录下:
/usr/local/Cellar/nginx/1.17.8/logs
同时在nginx.conf
打开这一行
error_log logs/error.log;
二、配置
1、找到Nginx文件夹
cd /usr/local/etc/nginx
2、openssl生成自签名证书
创建服务器私钥,命令会让你输入一个口令
openssl genrsa -out server.key 1024
根据私钥生成证书申请,创建签名请求的证书(CSR)
openssl req -new -key server.key -out server.csr
下面的选项至少写一个,才可以生成证书成功, 切记不需要输入口令
Country Name (2 letter code) []:ch
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:
Email Address []:
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
最后标记证书使用上述私钥和CSR
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
4、配置nginx:修改/usr/local/etc/nginx/nginx.conf 文件
location / {
root html(当前静态文件的路径);
index index.html index.htm;
}
不过最好不要把配置写到/usr/local/etc/nginx/servers目录里面,创建xxxx.conf
配置如下:
server {
listen 443 ssl;
server_name static.millet.com;
#server.crt和server.key都在nginx下面
ssl_certificate server.crt;
ssl_certificate_key server.key;
location / {
root xxxxxxx;
index index.html index.htm;
}
}
修改host映射地址
127.0.0.1 xxx.com
启动nginx
sudo nginx
或者
sudo brew services start nginx
停止nginx
sudo nginx -s stop
或者
sudo brew services stop nginx
重新加载配置文件
sudo nginx -s reload
或者
sudo brew services restart nginx
安装常见问题:
安装Nginx输入命令brew install nginx
报错
You have not agreed to the Xcode license. Please resolve this by running:
sudo xcodebuild -license
nginx设置本地跨域
在mac 终端运行命令的时候会被提示没有同意xcode 证书 ,这个时候需要在Terminal中同意license
此时 输入命令 sudo xcodebuild -license
空格到最后 输入agree
就可以了
5、强制信任证书,将server.crt
文件拖到[钥匙串访问]中,并强制信任此证书,最后去打开你的定义的域名的地址
image.png
参考作者
作者:milletmi
链接:https://www.jianshu.com/p/fc1e81efc867
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。