【https】nginx 配置 https 原理及方法

主要说一下http和https的区别和配置,不解释概念,只说配置过程中关键的理解。这里使用腾讯云免费ssl证书

腾讯云免费ssl证书地址:这里

1. 区别解释

在配置过程中,http默认配置监听80端口,表示一个server;而https默认监听443端口,也是一个server。理解这点非常关键。80端口的server我们已经配置好了,现在就是配置443端口的server,在这个server下再配置ssl

2. 获取证书

腾讯云创建免费证书后下载,解压,会有四个文件夹,我们只需要nginx下的文件

QQ20171018-113210.png

如图有两个文件,一个是.crt文件,表示证书;另一个是.key文件,表示秘钥

3. 配置

先将上一步拿到的两个文件上传到与nginx.conf同级的目录下,然后编辑 nginx.conf

下面贴一个比较简单的80端口server配置:

server {
    listen       80;
    server_name     www.aaa.com;
    root         /home/blog;

    location / {
        index index.html
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

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

根据第一步的理解,我们在80端口的server下新添一个443端口的server,我们要实现http和https访问都会运行同样配置的同一个程序。所以新建server:

server {
    listen       443 ssl;
    server_name     www.aaa.com;

    ssl on;
    ssl_certificate     1_aaa.com_bundle.crt;    #上传的证书路径
    ssl_certificate_key     2_aaa.com.key;    #上传的秘钥路径
    root         /home/blog;

    location / {
        index index.html
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

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

现在访问http和https是完全相同的效果,我们已经实现了基本配置

另一种情况也很常用,就是http访问自动重定向到https,这样的话http的server不需要处理程序,只需要接受请求重定向到https的server就可以了。所以修改80端口的server:

server {
    listen   80;
    server_name   www.aaa.com;
    rewrite ^(.*) https://$host$1 permanent;
}

常用的配置就这些,OK

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值