研究计划:mac nginx配置HTTPS

因为这个项目中,所有的跳转都是用了laravel的 secure_url 函数来跳转,这个函数就是为应用程序生成一个HTTPS url。

 

但是我的MAC就没有配置到HTTPS秘钥,所以点击时候,是这样的

 

 

所以现在需要在我的NGINX中,配置https

第一步  生成私钥

 

openssl genrsa -des3 -out private.key 2048

第二步  生成证书请求

 

openssl req -new -key private.key -out server.csr 

第三步 生成服务器的私钥

 

openssl rsa -in private.key -out server.key

第四步 使用私钥为证书请求签名,生成给服务器签署的证书,格式是x509的PEM格式

 

sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650

 

此时会生成以下三个文件,再去nginx 配置文件中,监听https

 

 

 

 

监听HTTPS请求

添加

 # ssl配置
    ssl on;
    ssl_certificate /usr/local/etc/nginx/server.crt;
    ssl_certificate_key /usr/local/etc/nginx/server.key;

 

具体如下:

server {
    listen 80;  # http端口监听

    server_name www.test.com;
    index index.html index.htm index.php;

    # ssl配置
    ssl on;
    ssl_certificate /usr/local/etc/nginx/server.crt;
    ssl_certificate_key /usr/local/etc/nginx/server.key;

    location / {
        rewrite . /index.php last;
    }
}

ngnix -s reload 重启的时候,这样的配置,遇到了一个问题

nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /usr/local/etc/nginx/servers/moremkt:12

解决:

该问题是由于新版nginx采用新的方式进行监听https请求了

把 ssl on; 去掉

替换成 listen 443 ssl; 就可以了

下面是最终的配置文件

server {
    #    ssl on;
    listen 443 ssl; #监听HTTPS
    listen 80; #监听HTTP
    server_name www.more.mkt.net;

    #charset koi8-r;

    #access_log  /usr/local/var/log/nginx/access.log  main;

#    root /usr/local/var/www/more_mkt/public;
    root /Users/mkc/Documents/www/more_mkt/public;


    ssl_certificate /usr/local/etc/nginx/server.crt;
    ssl_certificate_key /usr/local/etc/nginx/server.key;

    location / {
        index index.html index.htm index.php;
         try_files $uri $uri/ /index.php$is_args$args;
    }

    #error_page 404 /404.html;
    #error_page 502 /502.html;
    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass   127.0.0.1:9003;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

     #error_page  404              /404.html;

     # redirect server error pages to the static page /50x.html

     #error_page   500 502 503 504  /50x.html;
     #location = /50x.html {
     #   root   html;
     #}

    location ~ .*\.(html|htm|css|js|png|ico|woff2|woff|ttf|swf)$ {
        root /Users/mkc/Documents/www/more_pc/public;
    }

    #deny access to .htaccess files, if Apache's document root
    #concurs with nginx's one
    #
    location ~ /\.ht {
        deny  all;
    }
}

 

然后就可以请求https啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值