如何免费把网站从http升级到https

预备知识:

1.什么是https, 相对于https有什么优势/劣势?

2.升级https需要准备的文件? 如何升级?

3.ssl证书类型?  (EV/OV/通配符证书....)

4.如何选择ssl证书? 如何选择供应商?  (推荐一家:godaddy比较便宜,Versign/GlobalSign等都比较偏贵)

5.如何免费获取信任的ssl证书?

如果对以上几点还不熟悉的同学可以先去了解以下,本文主要讲解第五点如何获取到免费的被信任的SSL证书。 什么时候可以考虑到使用免费的证书。 例如:你开发了一个app里面将要传输一些敏感信息,例如:用户姓名/联系方式等等。为了保护用户的数据不被泄漏就需要加上加密功能。 但是对于已经release的客户端我们不可能要求客户端升级,也就是老的客户端依然使用的是http协议和老的客户端程序。 如何保证用户透明的情况下加密用户数据呢? 自然我们想到了https,那好既然需要部署https证书如何来呢?  你也可以自签名一个证书, 但是自签名的证书对于已经发出去的app会认为是不合法的CA导致错误。 所以,咱们必须搞到一个被信任的CA中心颁发的证书。 根据个人经验目前有如下几种方式:

方式一: 到沃通网站上申请免费的SSL证书。 (最近关闭了,可能几个月后会开放)

方式二: 到各大供应商去申请试用的证书(解决紧急情况),一般有效期是7天或者是30天,RapidSSL是30天。

方式三: 还是开源的力量大, 使用"Let‘s Encrypt"提供的证书。

接下来, 重点介绍一下如何使用"Let‘s Encrypt"生成和renewal证书。"Let‘s Encrypt"是一家非营利的由各大知名网络和互联网公司赞助的一个提供免费证书的机构(https://letsencrypt.org/)。 有Akami/CISCO/Chrom...大家还是可以放心使用。 但是,该机构提供的证书有效期只有三个月也就是90天,所以90之后需要更新证书。

好,进入主题下面给大家演示以下如何在Nginx on Debian 7下生成SSL证书:需要准备好nginx和

1. 准备好一个nginx服务器。大家可以自行去下载和安装nginx。在编译nginx的时候注意加上http ssl模块。 具体命令可以参考:

./configure --prefix=/data/server/nginx/nginx1.7/  
--with-pcre=/data/server/nginx/source/pcre-8.35/ 
--with-zlib=/data/server/nginx/source/zlib-1.2.8/ 
--with-http_ssl_module 
--with-http_realip_module 
--with-select_module 
--with-poll_module 
--add-module=/data/server/nginx/source/nginx_accept_language_module-master

2.下载安装客户端

wget https://dl.eff.org/certbot-auto

chmod a+x certbot-auto

3.准备好依赖包 (最好使用:ubuntu14.04以上的)

./certbot-auto

4.生成证书

4.1.因为大多数情况Nginx都是作为一个负载均衡的作用在前端,后端放的业务服务。certbot需要在域名对应的webroot下面创建.well-known/acme-challenge文件。 所以,如果对于目前情况。我做了一个映射把这个路径映射到了nginx的一个目录下面。

location ~ /.well-known {
       access_log  logs/eapa_access.log  main;
       root html;
       index index.html index.htm;
  }

4.2.生成证书,使用./certbot-auto certonly命令生成证书。参数说明: -w 指定webroot(即:4.1中配置的root目录), -d 指定域名,可以是多个。  -w -d 是成对出现,也可以一次生成多个证书。下面我们为eapa.test.com生成一个证书,该项目的路径为:/data/server/nginx/nginx1.7/html。

./certbot-auto certonly
 -w /data/server/nginx/nginx1.7/html
 -d eapa.test.com

命令执行成功以后证书就放在了:/etc/letsencrypt/live/eapa.test.com/下面,可以看到如下几个文件:

lrwxrwxrwx 1 root root 42 Nov 30 05:16 cert.pem  (证书文件)
lrwxrwxrwx 1 root root 43 Nov 30 05:16 chain.pem
lrwxrwxrwx 1 root root 47 Nov 30 05:16 fullchain.pem
lrwxrwxrwx 1 root root 45 Nov 30 05:16 privkey.pem (免密钥的私钥)

4.3安装证书到nginx服务器就很简单了,下面贴出来了源代码

server {
        listen   443 ssl;
        server_name  eapa.test.com;

        ssl_certificate      /data/server/nginx/nginx1.7/ssl/cert.pem;
        ssl_certificate_key  /data/server/nginx/nginx1.7/ssl/privkey.pem;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location ~ /.well-known {
           access_log  logs/eapa_access.log  main;
           root html;
           index index.html index.htm;
        }

        location ~ / {
            access_log  logs/eapa_access.log  main;

            root   html;
            index  index.html index.htm;

            proxy_set_header  Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header    X-Scheme $scheme;
            client_max_body_size    10m;
            client_body_buffer_size 128k;
            proxy_connect_timeout   300;
            proxy_send_timeout      300;
            proxy_read_timeout      300;
            proxy_buffer_size       4k;
            proxy_buffers           4 32k;
            proxy_busy_buffers_size 64k;
            proxy_temp_file_write_size 64k;

            proxy_pass http://eapa;
            proxy_redirect http:// $scheme://; //(解决:springmvc redirect后https变成http)
        }

访问:https://eapa.test.com就可以看到成功了.  (注意: 该域名是假域名)

最后, 因为证书有效期三个月, 你可以手动或者写个cron自动更新证书通过下面命令:

[[email protected] ssl]$ ./certbot-auto renew
Requesting root privileges to run certbot...
  /home/yi_liu/.local/share/letsencrypt/bin/letsencrypt renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/eapa.tclclouds.com.conf
-------------------------------------------------------------------------------
Cert not yet due for renewal

The following certs are not due for renewal yet:
  /etc/letsencrypt/live/eapa.tclclouds.com/fullchain.pem (skipped)
No renewals were attempted.

效果如下图:

参考文档:

https://letsencrypt.org/docs/

https://certbot.eff.org/all-instructions/#centos-6-nginx

https://certbot.eff.org/docs/using.html#webroot

时间: 2024-08-01 09:44:06

如何免费把网站从http升级到https的相关文章

什么是https?http升级为https需要什么?

一.什么是https? https是一种加密传输协议,网站使用https后可以避免敏感信息被第三方获取.https加密协议=SSL / TLS+http协议,也就是说,在传统的http协议上加上SSL成就可以实现数据传输加密. 二.网站从http升级为https需要什么? 前面说到https加密协议=SSL / TLS+http协议,也就是说,网站从http升级为https的关键就在于SSL证书,网站安装SSL证书之后就可以从http升级为https,进行加密传输,保护网站数据安全了. 一开始S

http网站快捷免费升级到https

前言 能看到这篇文章我想大家对http和https都不陌生,我也不做过多阐述,直接开干 工具 已备案域名一个 CentOS 7 Nginx Let's Encrypt 这里我详细介绍下Let's Encrypt,它是国外一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由 Mozilla.思科.Akamai.IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞

Nibbler – 免费的网站测试和指标评分工具

Nibbler 是一款免费的工具,用于测试网站的各个方面指标.输入任意网站的地址,Nibbler 会给你一份报告,列出网站的10个关键领域的分数,包括可访问性,用户体验,搜索引擎优化,社交媒体和技术等等. 试用一下 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型 jQuery 图片轮播插件 本文链接

建立一个免费的网站

大家可能想建立一个个人主页,但是只想尝试一下,那么,先建立一个免费的网站是不错的选择. 一. 建站需要什么 1. 域名,是访问的地址. 2. 空间,是存储网站的主机. 二.建站的步骤 1. 申请空间 到http://www.id666.com/注册用户.之后在会员页面点击初始化虚拟主机按钮.之后便可以有一个空间.点击管理按钮进行管理. 绑定域名页面可以进行域名的绑定,同样可以看到空间的别名为sk160.hostcname.net.   2. 申请域名 这里使用.tk域名,这是一个国家的顶级域名,

ASP.NET实现网站的自动升级

网站的自动升级主要是要实现从一台服务器上下载某些文件到本服务器上,然后对下载下来的文件进行更新等操作. 比如,现在有服务器A,服务器B和客户端C. 作为COM公司开发的产品DIV网站系统被安装到服务器B上,而它的更新设置及更新文件则在服务器A上.当客户C访问服务器B的网站时,B从A上下载更新文件,然后进行更新操作. 其中虽然第四步最重要,是逻辑的核心,但是下载什么文件,怎么下载也捆饶着我们. 这里介绍的ASP.NET2.0是VB.NET.VB.NET 引入了一个新的命名空间 —— My .   

Photoshop中文版免费在线网站哪个好

Photoshop使用国度越来越广,对于国人来说,汉化的PS使用起来更加方便,如今中文版的PS几乎每个人的电脑中都有,但是不乏也有很多人比较任性,就比如小编,小编经常使用PS,但是电脑中就是没有Photoshop软件,取而代之的是一个免费的在线网站,使用起来也是很方便,给电脑省了不少的空间,那Photoshop中文版免费在线网站哪个好呢? 1.在线PS网站(迅捷在线图片编辑器)和PS软件最大的不同就是是否需要下载,对于在线网站来说,只需要通过其网址就可以直接进入网站进行编辑,小编使用的在线PS网

百度文库免费下载网站(只能下载点券文档)

百度文库免费下载网站:https://baidu3888.com,不要把https去掉哈 笔者最近发现了一个不错的网站,可以免费下载百度文库中需要点券的文档(不论文档需要的点券是多少,每次下载只需要支付5毛钱,笔者觉得还是很划算的). 目前网上有一些号称能下载百度文库的软件大都是假的,或者是OCR抓取的,不是百度文库原有格式: 某电商网站上有代下载服务,但是价格都比较高,而且个别店铺兜售账户是骗子(账户有下载次数限制,有使用时间限制等): 温馨提示:凡是号称能下载付费文档的,大都价格高昂,基本都

20个仿Quora的免费问答网站程序

接触网站制作和运营将近9年了,还从没想过搭建问答社区,其实这倒是个还不赖的主意,不过被人抢先了,这是一个免费问答网站搭建平台的程序名单,通过这些程序,你可以搭建像Quora, StackOverflow, Yahoo Answers, 知乎,啊烦题之类的sns问答网站. 西乔是我非常欣赏的一位web设计师,今天很早起来拍片子,回来后看了看他的博客,看到一个巴别塔的问答社区网站设计,我心中想,为什么我就不能为 阿拉伯风做一个这样的设计呢?最近正要改版,打算把功能调整一下,也许系里还会很支持也说不定

9个PNG透明图片免费下载网站推荐

9个PNG透明图片免费下载网站推荐 酷站推荐 2017.08.06 13:47 png格式的图片因为去掉了的背景,方便使用在任何颜色的背景,所以对于从事设计师的朋友来说,经常会用到png透明图片.相信有不少懒人为了多下载几张PNG图都注册了甚至是充值了千库或千图这样的网站吧,不给钱一天只让下一两张图,实在不够用,今天分享给大家几个提供免费下载png图片的网站,本文章会持续更新. StickPNG StickPNG 收录了很多 PNG 图片的免费图库资源,总数超过一万五千张!图片多半是单一主题的物