腾讯云申请SSL证书与Nginx配置Https Linux 第1张

0x00 为什么要安装证书

  1. 信息传输的保密性
  2. 数据交换的完整性
  3. 信息的不可否认性
  4. 交易者身份确定性

如今各大浏览器厂商不断推进Https安全访问强制性要求,为了避免以后网站数据量增多时安装证书造成不必要的麻烦(根据要求,使用Https时页面内使用的链接包括图片,js,css,socket,流媒体等都需要为Https链接),所以建议尽早安装证书。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

0x01 在腾讯云申请TrustAsia免费SSL证书

该证书免费申请,有效期一年,只限单域名(泛域名收费)

登录腾讯云控制台SSL证书管理,选择申请免费证书

腾讯云申请SSL证书与Nginx配置Https Linux 第2张

选择证书类型:亚洲诚信TrustAsia
填写自己的域名(图片中的域名为本文演示使用)

腾讯云申请SSL证书与Nginx配置Https Linux 第3张

验证方式推荐选择手动DNS验证,文件验证会很慢而且麻烦

腾讯云申请SSL证书与Nginx配置Https Linux 第4张

查看详情

腾讯云申请SSL证书与Nginx配置Https Linux 第5张

按提示去你的域名管理页面添加DNS解析(你在哪买的或者申请的域名就去哪添加)

腾讯云申请SSL证书与Nginx配置Https Linux 第6张

腾讯云申请SSL证书与Nginx配置Https Linux 第7张

完成后在证书详情页面可以查看配置解析是否正确,如果正确只需要等待办法机构扫描验证就行了

腾讯云申请SSL证书与Nginx配置Https Linux 第8张

验证成功后,腾讯云会给你发送邮件,你就可以在管理页面下载证书了(一般只要几分钟就可以完成)

腾讯云申请SSL证书与Nginx配置Https Linux 第9张

0x02 Nginx配置SSL证书

下载下来的压缩包里有好几种格式的证书,我们只需要Nginx的pem证书即可,解压出来

腾讯云申请SSL证书与Nginx配置Https Linux 第10张

将这crt和key两个文件(公钥和私钥)修改好名字上传到你的服务器

腾讯云申请SSL证书与Nginx配置Https Linux 第11张

修改nginx配置文件

vi /etc/nginx/nginz.conf

依此例子修改server配置

server#这个server用来实现http自动跳转到https
{
  listen 80;
  server_name test.onbeta.com;
  rewrite ^(.*)$ https://$host$1 permanent;
}
server {

#端口改成443
  listen          443 ssl;  
  server_name     test.onbeta.com;
  root            /var/www/test;
  index           index.html index.htm index.php;

#此处为ssl证书配置
  ssl_certificate  /etc/nginx/cert/test.onbeta.com.crt;
  ssl_certificate_key /etc/nginx/cert/test.onbeta.com.key;
  ssl_session_cache shared:SSL:1m;
  ssl_session_timeout 5m;
  ssl_ciphers HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers on;

  if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php$1 last;
  }

  location ~ .*\.php(\/.*)*$ {
    include fastcgi.conf;
    fastcgi_pass  127.0.0.1:9000;
  }
}
重启nginx

sudo service nginx restart
此时如果没有报错你就可以使用https访问你的网站了

0x03 关于Windows下nginx配置

本文完全可以套用Windows下nginx的ssl证书配置,不过有一点需要注意的是:conf文件中文件路径应该使用反斜杠\

ssl_certificate  D:\\nginx\cert\ssl.crt;
ssl_certificate_key D:\\nginx\cert\ssl.key;

0x04 问题解决:您与此网站建立的连接并非完全安全

如果访问你的网站浏览器地址栏没有出现绿锁,而且提示是“您与此网站建立的连接并非完全安全”,那么原因可能是你的网页引用了非https链接,查看源文件搜索"http://",想办法修改掉这些不安全链接即可

本文转载自Kiros博客https://kiros.onbeta.com/Linux/teng-xun-yun-shen-qingSSL-zheng-shu-yuNginx-pei-zh.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄