美文网首页
mac 安装nginx并配置SSL实现Https访问

mac 安装nginx并配置SSL实现Https访问

作者: Crassus | 来源:发表于2020-03-02 10:12 被阅读0次

    一、安装

    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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    

    相关文章

      网友评论

          本文标题:mac 安装nginx并配置SSL实现Https访问

          本文链接:https://www.haomeiwen.com/subject/hitpkhtx.html