nginx配置阿里云https的坑

0、在阿里云官网上有免费的ssl证书可以下载,很多人说找不到,应该是这样的:

   点击Symantec -> 点击1个域名 -> 点击免费型DV SSL

   这里的免费型选项必须先点了1个域名才能显示,不然找不到的

1、购买完成后根据提示填写完域名等信息就可以提交审核了。审核完毕后把证书下载下来,里面有.pem和.key两个文件

      服务器部分:登上服务器,在nginx的目录底下(可以通过nginx -t来查看目录位置,一般是/usr/local/nginx或者/etc/nginx)建立一个文件夹,比如建立cert文件夹。然后把你下载下来的两个文件传送到这个文件夹内

2、打开nginx.conf文件进行配置,在https条目下修改

      像我这样配置没有问题,隐去的部分就是自定义的部分,server_name填上你的域名,下面填你下载的两个证书文件的名字

      有些教程可能有一个ssl on,但是这和listen 443 ssl重复了,所以不要加比较好,加上去的话会warning但不会错误。

     注意:如果你像我一样,用php写一些app的接口,这里一定要加上location ~ \.php$这段。这段默认是没有的,不加的话只能访问html网页,是访问不了php文件的。当初我就是这段没加导致前端访问不了php文件。

      

3、配置完.conf文件后先检查一下有没有错,通过nginx -t测试,如果没问题的话就会这么显示:

     然后重启一下nginx服务器,怎么重启就不给截图了,先查到nginx master的端口,kill以后再重启

     一般情况下这个时候就能直接在地址栏里输入https域名访问网站了,是不是很简单?

     所以说这是一般情况,如果到这里成功了那最好,但大部分时候都没有这么一般……,如果操作完以上步骤还是无法访问,就继续看吧。

坑0: 由于https默认用的是443端口,而我们以前习惯了http的80端口,有可能443端口没有被打开

        为了打开443端口,我们可以编辑/etc/sysconfig/iptables文件

        如果你是centos7,很有可能你没有iptables这个文件,因为默认用的是firewall。为了方便,统一使用iptables

       (如果你没有iptables文件):

       //安装iptables部分参考Centos7下没有iptables文件_momo_mutou的博客-CSDN博客_没有iptables文件

       systemctl stop firewalld      //停掉firewalld
       systemctl mask firewalld
 
       yum install -y iptables         //安装iptables
       yum install iptables-services

       systemctl start iptables.service
       systemctl restart iptables.service // 重启防火墙使配置生效 
       systemctl enable iptables.service // 设置防火墙开机启动

       (如果你有iptables,或者现在你已经装好了):

       vim /etc/sysconfig/iptables

       

      将画红线的这句写入(就写在如图位置,不要写在最后,不然会被覆盖)

       注:这里要注意一下,如果你本来除了22、80端口还有其他端口处于使用中,在这里也要把它们以相同的格式写入。比如我本来用来ssh登录的端口一开始没有写进去,于是后面被拒绝了。

       修改完后保存退出,输入systemctl restart iptables.service重启一下生效。

       如果到这里还没有成功!!!接下去看

坑1: 你开放了443端口,但是在阿里云的白名单里还要加入一遍

        到阿里云控制台,安全组配置当中,增加如下配置:

        

      到这里才真正地开放了443端口,否则你死也不知道为什么443明明开放并监听了但还是不行。

      现在你再访问https试试,应该不会再有问题了。​​​​​​​​​​​​​​

我的博客:矩阵空间​​​​​​​

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值