Nginx 配置 https 认证,nginxhttps


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服务默认已经启动,然而我们并不知道服务的端口、位置。

全局搜索配置文件:

sudo find / -name nginx.conf

发现位于如下位置:

/usr/local/etc/nginx/nginx.conf

打开,进行编辑

修改了http下面的server项。将root修改为绝对路径/www/,并注意到,server监听的端口为80

server {

        listen       80;

        server_name  localhost;

    

        location / {

            root   /www/;;

            index  index.html index.htm;

        }

 

此时创建目录/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;

        server_name  myspring.ch.com;  #注意需要修改域名

 

        # 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/访问,效果如下:


相关内容

    暂无相关文章