资讯专栏INFORMATION COLUMN

StartSSL免费SSL证书申请和账户注册完整过程

AbnerMing / 3409人阅读

摘要:及时发现被第三方篡改的传输内容。保证数据到达用户期望的目的地。对计算能力的消耗很严重,完全握手时,的处理能力会降低至的甚至以下。这个阶段的性能消耗占整个握手性能消耗的。

HTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个

数据保密性。保证内容在传输过程中不会被第三方查看到。就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西。
数据完整性。及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收。
身份校验。保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方。

关于申请SSL及在站点部署请看下面两篇博文:

StartSSL免费SSL证书申请和账户注册完整过程
新StartSSL免费SSL证书申请使用:Apache和Ngnix安装配置SSL证书
Nginx下配置网站ssl实现https访问
HTTPS介绍

Nginx配置SSL证书

申请的过程可以看上边的第一篇博文,申请后最终会需要两个文件,一个扩展名为.crt,一个扩展名为.key文件,然后通过命令将其传入nginx服务器的目录下:

1.将本地文件上传到服务器的/home/目录下先
➜  ~ pwd
/Users/corwien
// 将本地文件上传到服务器的/home/目录下先
scp /Users/corwien/ssl/ssl.domain—name.cn.crt  root@120.23.12.5:/home/
scp /Users/corwien/ssl/ssl.domain-name.cn.key  root@120.23.12.5:/home/
2.打开站点的配置文件
vim /etc/nginx/sites-available/default

下面是我添加SSL后的配置文件,需要的可以参考:

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/your-project/public;
        index index.php  index.html index.htm;

        # Make site accessible from http://localhost/
        server_name your-domain.cn;

        # SSL重写指向下面的HTTPS的443端口-20160924
        rewrite ^/(.*) https://your-domain.cn/$1 permanent;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.php?$query_string;
                # Uncomment to enable naxsi on this location
        }

  location ~ .php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
         }


# HTTPS server
#
server {
        listen 443;
        server_name your-domain.cn;
#
  
        root /var/www/your-domain/public;
        index index.php index.html index.htm;

        # SSL 配置
        ssl on;
        ssl_certificate /home/ssl.your-domain.cn.crt;
        ssl_certificate_key /home/ssl.your-domain.cn.key;
#
        ssl_session_timeout 5m;
#
#       ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
#       ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
#       ssl_prefer_server_ciphers on;
#
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

   location ~ .php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
         }




   }

3.保存,重启nginx
service nginx restart

这时会出现这样的提示,让你输入你的SSL证书的密码(就是你生成cer那一步的密码,可别忘记了)

* Restarting nginx nginx 
Enter PEM pass phrase: your_ssl_password(输入你的密码)   
Enter PEM pass phrase: your_ssl_password(输入你的密码)
 [ OK ]

在浏览器输入你的网站域名:

https://your-domian.cn

OK ,如果不出意外,你的SSL配置成功了!

修改站点中非https的资源链接

HTTPS的优缺点

既然HTTPS非常安全,数字证书费用也不高,那为什么互联网公司不全部使用HTTPS呢?原因主要有两点:
HTTPS对速度的影响非常明显。每个HTTPS连接一般会增加1-3个RTT,加上加解密对性能的消耗,延时还有可能再增加几十毫秒。
HTTPS对CPU计算能力的消耗很严重,完全握手时,web server的处理能力会降低至HTTP的10%甚至以下。
HTTPS为什么会严重降低性能?主要是握手阶段时的大数运算。其中最消耗性能的又是密钥交换时的私钥解密阶段(函数是rsa_private_decryption)。这个阶段的性能消耗占整个SSL握手性能消耗的95%。
然而随着各大网站的相继跟进与硬件的摩尔定律下,为了安全而做这点性能牺牲还是值得的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39336.html

相关文章

  • nginx服务器配置StartSSL证书

    摘要:概述基础服务器操作系统服务器免费认证服务协议运行机制的概述百度百科解释安全套接层及其继任者传输层安全,是为网络通信提供安全及数据完整性的一种安全协议。通过验证的邮件的,输入到浏览器中进行下一步安装证书。配置访问重启访问访问域名显示工作正常。 概述 ssl基础服务器操作系统:aliyun ubuntu 12.04WEB服务器:nginx 1.4.x免费ssl认证服务:startssl...

    Hanks10100 评论0 收藏0
  • 给你的网站穿上外衣 - HTTPS 免费部署指南

    摘要:用于安全的数据传输。表明它使用了,但存在不同于的默认端口及一个加密身份验证层在与之间。申请证书网上已经有不少机构提供个人免费证书,有效期几个月到几年不等,博主使用的是申请成功后有效期年,到期后可免费续租。 前言 随着国内各大网站纷纷开启全站 HTTPS 时代,HTTPS 已不再是支付等敏感操作过程的专属,开启 HTTPS 对于个人网站或者小型网站也不再遥不可及。 今天博主就以自己的网站...

    wangjuntytl 评论0 收藏0
  • 基础版服务器部署Laravel项目

    摘要:解密服务器文件,再次进入网站,找到首页中的,输入密码,生成解密后的服务器修改配置文件,打开配置的,修改其,执行测试配置文件是否修改修改配置文件,打开配置的,加入一行使其访问端口时直接重定向到。 showImg(https://segmentfault.com/img/remote/1460000009562820?w=729&h=351); 说明 部署Laravel项目 从现在开始 ...

    microelec 评论0 收藏0

发表评论

0条评论

AbnerMing

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<