Mac下的nginx服务器安装本地的https环境

先交代一下为啥要弄这么个本地的https环境,我计划在本地弄一套和线上一样的环境,这样在开发时我可以直接通过jenkins将代码提交到线上不需要在通过ftp上传文件到服务器,方便我调试和管理相关代码,因此我在本地配置了https环境,我觉得很有必要将过程记录下来以方便查阅,废话说完了开始正题。

具体步骤

1、先确保本地已经安装openssl和openssl-devel (没安装的自行安装)。
2、自己给自己颁发证书(制作密钥)

cd /usr/local/nginx/conf/cert(存放证书目录,自己创建)
openssl genrsa -des3 -out server.key 1024 (生成私钥,会输入密码短语,需要记住这个密码)
openssl req -new -key server.key -out server.csr

命令输入完成后会填写一些必要的信息如下:

Country Name(国家:中国填写CN)
State or Province Name(区域或是省份:CHONGQING)
Locality Name(地区局部名字:CHONGQING)
Organization Name(机构名称:填写公司名)
Organizational Unit Name(组织单位名称:部门名称)
Common Name(网站域名)
Email Address(邮箱地址)
A challenge password(输入一个密码)
An optional company name(一个可选的公司名称)

3、填完那些就会在当前目录生成server.csr文件,接下来执行

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key (对于使用的私钥启动SSL功能的NGINX)
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt (使用密钥和CSR对证书进行签名)

4、配置Nginx文件

在原来的server{}下增加一个server{} 内容如下:

server {
    listen 443; # https端口监听

    server_name www.viphper.com;
    root        /web/www.viphper.com;
    index index.html index.htm index.php;

    # ssl配置
    ssl on;
    ssl_certificate cert/server.crt; #你自己的证书目录
    ssl_certificate_key cert/server.key; #你自己的证书目录

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
	fastcgi_pass	127.0.0.1:9010;
	fastcgi_index 	index.php;
	fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
	fastcgi_connect_timeout 300;
  	fastcgi_send_timeout 300;
  	fastcgi_read_timeout 300;
	try_files $uri =404;
   }
}

重启nginx打开你本地的网站看看是不是https可以访问啦。

作者:PHP学习网,本文 Mac下的nginx服务器安装本地的https环境 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
编辑精选

发表评论