基本概念:

HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

很多用户目前对HTTPS持观望态度,当然网站升级HTTPS有利有弊,利当然是安全系数提升,降低劫持风险,弊端主要体现在速度上,由于证书验证、多次握手、CPU消耗等原因,https页面速度会被拖慢一点。

谷歌、火狐等浏览器厂商也已经扛起HTTPS大旗,对于HTTP站点会提示不安全警告。而且像谷歌、百度等搜索引擎也早已相应HTTPS号召,都声称对HTTPS站点页面友好甚至优先抓取,排名靠前,当然具体实际实施情况就另当别论了,目前来看,谷歌做的要比百度更成熟一些。

要让互联网站点都升级到HTTPS协议还需一段时间,但不可否认HTTPS是大势所趋。所以本文我们一起来了解下如何将网站升级到HTTPS协议。

1.购买、下载SSL证书

SSL证书有付费也有免费的,当然价格其实并不很高。之前我有整理过国内外几家知名的SSL商家,可供大家参考(http://blog.cnezsoft.com/blog/ssl-80138.html)。

2.备份,备份,备份

这是极其重要且必须的一步。即便你自认为技术深厚,对服务器熟悉也不要忽视升级前做好网站备份。

3.安装证书

不同厂家或都提供了相应的安装证书的解决方案,流程大同小异。这里我以免费SSL证书为例,在LAMP环境下给大家介绍如何安装证书。

打开apache的配置文件httpd.conf,找到

#LoadModule ssl_module modules/mod_ssl.so

#Include conf/extra/httpd-ssl.conf

删除行首的配置语句注释符号“#”

保存退出。

打开apache安装目录下conf/extra目录中的httpd-ssl.conf文件

在配置文件中查找以下配置语句

SSLCertificateFile conf/ssl.crt/server.crt 将服务器证书配置到该路径下

SSLCertificateKeyFile conf/ssl.key/server.key 将服务器证书私钥配置到该路径下

#SSLCertificateChainFile conf/ssl.crt/ca.crt 删除行首的“#”号注释符,并将中级CA证书 ca.crt配置到该路径下。

添加SSL 协议支持语句,关闭不安全的协议和加密套件:

SSLProtocol all -SSLv2 -SSLv3

修改加密套件如下:

SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;

保存退出,并重启Apache。检查HTTPS页面能否成功访问。

4.301重定向

考虑到SEO影响,须将之前的HTTP页面转为HTTPS。我们修改配置文件即可,这里我还是以LAMP环境为例,在.htaccess文件中加下面代码即可:

RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

总结:

本文向大家介绍了网站升级HTTPS时必要流程,具体细节或因服务器环境不同和SSL证书商家不同而存在一些差异,但总体大同小异。如过大家在网站升级HTTPS过程中遇到疑难困惑或有成功经验,欢迎一起分享交流。

资料来源:https://blog.csdn.net/chanzhi2016/article/details/71706197

网站如何从http升级成https的更多相关文章

  1. 网站是HTTP?10分钟变成HTTPS!域名免费添加配置SSL证书,变成https//环境

    对于小程序request请求需要https域名.navigator.geolocation定位也需要在https环境下才可以生效等问题: 前端开发越来越需要https环境来来测试一下API接口和各类问 ...

  2. Nginx http升级到https

    http和https的区别是 有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站 [其实是同一个网站] http://www.511easy.com/bug/login http:// ...

  3. 网站通信协议升级到HTTPS&HTTP2

    为何要升级到HTTPS和HTTP2? http://baijiahao.baidu.com/s?id=1602041305989767011&wfr=spider&for=pc htt ...

  4. https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    一:什么是https SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...

  5. 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security   Socket   Layer)全称 ...

  6. 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS

    HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...

  7. 记一次将公司网站http换成https

    看了博客园将近一年了,一直都只是在被动的看,总觉得应该写点什么,但是又不知道该写点什么.今天正好公司要把网站由http换成https,那我就顺便记录一下吧. 由于之前没有弄过,所以就面向百度编程. 首 ...

  8. http网站转换成https网站

    https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题   一:什么是https SSL(Security   Socket  ...

  9. 骚年,看我如何把 PhantomJS 图片的 XSS 升级成 SSRF/LFR

    这篇文章实在是太好了,我看了好几篇,所以极力推荐给大家 原文地址   http://buer.haus/2017/06/29/escalating-xss-in-phantomjs-image-ren ...

随机推荐

  1. 杭电1596find the safest road(spfa)

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  2. java的nio包的SelectionKey,Selector,SelectableChannel三者的缠绵关系概述

    猛击这里 java的nio包的SelectionKey,Selector,SelectableChannel三者的缠绵关系概述

  3. Smoke testing (software)

    Smoke testing (software) - Wikipedia https://en.wikipedia.org/wiki/Smoke_testing_(software) In compu ...

  4. 新产品为了效果,做的比較炫,用了非常多的图片和JS,所曾经端的性能是非常大的问题,分篇记录前端性能优化的一些小经验。

    第一篇:HTTPserver 因tomcat处理静态资源的速度比較慢,所以首先想到的就是把全部静态资源(JS,CSS,image,swf) 提到单独的server,用更加高速的HTTPserver,这 ...

  5. openfire学习(一)

    需要开发一款软件,其中的即时通讯功能使用xmpp协议来做,服务端用openfire. openfire的下载和配置就不多说,可能大多数人第一次用会遇到登陆不了的问题,我也遇到了,事实上登陆错误是因为用 ...

  6. @SpringBootApplication 注解

    @SpringBootApplication 启动类注解(一般在root下):该注解被@Configuration.@EnableAutoConfiguration.@ComponentScan 这三 ...

  7. (C)strcpy ,strncpy和strlcpy的基本用法

    好多人已经知道利用strncpy替代strcpy来防止缓冲区越界. 但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式. 1. strcpy strcpy 是依据 /0 作为结束判断的, ...

  8. uptime详解,最通俗的说明了cpu平均负载

    今天又个网友问uptime的三个平均负载值具体要怎么理解,发现要自己解释还真不知道怎么表达~~~~,下面到网上找了篇文章给大家分享:   uptime命令,有两大用处,一个是看您的机器的运行时间,另一 ...

  9. YTU 2802: 判断字符串是否为回文

    2802: 判断字符串是否为回文 时间限制: 1 Sec  内存限制: 128 MB 提交: 348  解决: 246 题目描述 编写程序,判断输入的一个字符串是否为回文.若是则输出"Yes ...

  10. [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]

    我自己写的第一个 Silverlight 2.0 程序    [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]            程序运行时:小地球将绕着圆形轨迹做圆周运动. ...