阿里云购买免费https证书并用nginx配置代理详解(2020年9月)

现在各大网站都转型https协议了,连ios app上架都必须走https协议了,那么如何将我们普通的小网站统一变成https呢?

阿里云ssl证书购买地址:证书服务_SSL数字证书_HTTPS加密_服务器证书_CA认证-阿里云

1.https证书购买及绑定域名

https证书都不便宜,现在服务器,域名基本都在阿里云买了,https证书阿里云也有卖,但我们小码农要选择免费的,说下我说下目前的购买方法,因为官网界面每年都在变

首先登陆阿里云->控制台,点左上角,弹出的一堆选项中选择这个:

懒得找可以直接输入网址: 阿里云通用售卖

弹出这个页面:

可见企业级的https证书贼贵,我们只想买个免费的而已,则这么选择:

只有这个选择方法可以选到免费的,费用为0.00,直接购买就行了。

然后就去控制台,点证书申请:

填写你要绑定的单域名,如果要绑定www.xxx.com,可以写www.xxx.com或者xxx.com都行,除了www这个,其他的都得老老实实写好三级域名,比如这个是我为oss申请的,写的是oss.xxx.com,前提最好是你的域名已经备案了。

他让你去域名解析里面这个记录值,直接去控制台找域名解析添加个记录就行了

说一下,一分价钱一分货,免费的只能满足基本的https改造,安全性和便利性都不高,只适合小网站使用。

而且只能选择单个域名,不能选择通配符域名,什么意思呢?通配符域名可以配置一个二级域名,它下面的所有三级域名及子域名都可以受https证书支持,比如配置了 baidu.com,那不光baidu.com受支持,他下面的www.baidu.com, map.baidu.com,music.baidu.com 都可以受https证书支持

而免费的只能买单域名,也就是只支持你配置的这个域名,其他域名比如子域名啥都都不受https支持,也就是说其他域名在chrome访问时依然是显示不安全状态,比如你绑定了 www.baidu.com,那map.baidu.com,musici.baidu.com都还得分别申请证书才行,不过baidu.com是受支持的,相对的,如果绑定了baidu.com,虽然看似绑了个二级域名,但它其实指的就是www.baidu.com, 只有baidu.com,www.baidu.com这俩可以用https证书。

不过好处是可以购买多个免费证书,分别配置不同的域名即可

二.配置nginx反正代理

等证书审核通过并下发后,下载证书:

然后服务器安装nginx,在nginx的conf文件夹下新建cert文件夹,将下载的证书包丢进去解压,包含两个文件,一个 .pem(证书文件),一个 .key(秘钥文件),建议重命名一下。

我的安装地址:/www/server/nginx/conf/cert

修改 nginx/conf/nginx.conf配置文件,增加443监听和80监听:


server {
    listen 443 ssl;  #443是https默认端口
  	server_name www.xxx.com;  #你的域名
   	ssl_certificate cert/xxx.com.pem;   #你放到cert下的文件
  	ssl_certificate_key cert/xxx.com.key;   #你放到cert下的文件
  	 ssl_session_timeout 5m;
     ssl_ciphers ECDHE-RSA-AES128-GCM-    
     SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
     ssl_prefer_server_ciphers on;
     location / {
           proxy_pass http://127.0.0.1:8087;   #你要跳转自己部署的地址
      }
  	access_log /www/wwwlogs/access.log;
  }
  

  server {
        listen 80;  #监听80端口,80是http默认端口
        server_name  www.xxx.com  oss.xxx.com;    #监听的域名 多个域名空格隔开
        rewrite ^(.*)$ https://$host$1 permanent;  #让来自http的80请求都自动跑到https的443去了    
    }

这样基本就大功告成了,记得阿里云esc安全组放行443端口,用宝塔的在安全里也放行443,

这样,服务器自己部署一个程序,按理说用域名/ip+端口+项目地址 就可以访问了,这样配置后所有请求都变成了走https协议,不管你请求的是https还是https,nginx都帮你自动跳转,以前前台如果请求的http接口都不需要改动代码就行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆趣编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值