如何让你的网站支持https

当今世界的主流网站基本都是使用https对外界提供服务,甚至有某些公司建议完全使用https, 那么https是什么呢?请参考如下的图解,https是在我们通常说的tcp/ip协议中的传输层和应用层之间加入的一层,在这层的客户端浏览器和服务器端进行了加密,如图可以看出,加密的作用只能体现在应用层以下,也就是说tcp层看到的是加密数据,应用层看到的还是明文,也就是说https对于应用层来说是透明的,通常我们的http request, request header,key-value还都是明码,也就是说在应用层上http和https发送的数据是一致的,区别仅仅体现在tcp层以下,我们来看个两个请求来说明。

https request

http request

对于http和https如果我们分别在tcp层抓包,我们就可以看到http是不加密的,而https是加密的。

接下来我们来说说SSL层是如何加密的,我们都知道非对称加密,一般网站如果希望支持https就需要向权威机构购买证书,证书包含一个公钥和私钥对,公钥发送给客户端,客户端使用这个公钥进行加密,服务端使用私钥进行解密,那么有人会问了,为什么还要向权威机构申请呢,自己构造一个得了呗,可以的, 如果你只是自己使用,但是如果你想让很多人都使用,这些人又不认识你,怎么办呢?你怎么证明你是你呢?这个时候权威机构就派上用场了,我们安装的浏览器默认都是信任一些主流的权威机构的,他给你发了证书,你就可以证明你是你了,好了,这下应该讲清楚了。

下面以JavaEE网站为例谈谈支持HTTPS需要哪些配置或者代码。买完证书如果希望自己的网站支持https其实并不需要改动代码,除非你有特殊需求,比如你的哪些urls需要支持https剩余的一些需要http,其实这种需求整的很少见,但是确实是有的。Tomcat中加入如下的配置,你的网站就可以支持https了,这里面的c:\testkeystore是你存放key的地方。

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="c:\testkeystore"
keystorePass="solidmango" />

那么当你配置好了以后怎么知道自己的网站是否已经完整的支持了https了呢?打开浏览器,看到如下的配置就说明你的htttps配置成功了。

总结

本文从理论到实践完整的讨论了https的台前幕后的细节,希望对大家有所帮助,共同进步。

如何让你的网站支持https的更多相关文章

  1. web开发必看:你的网站支持https吗?

    如果有一项技术可以让网站的访问速度更快.更安全.并且seo权重提升(百度除外),而且程序员不需要改代码就可以全站使用,最重要的是,不需要额外花钱,那有这么好的事情吗? HTTP通信协议是全球万维网ww ...

  2. 简单“三步”让你的网站支持https!

    关于Let's Encrypt Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla.Cisco.Akamai.IdenTrust.EFF等组织人员发起 ...

  3. 30分钟让网站支持HTTPS

    对于一个良好和安全的网络——并且也为了更快的性能,新的API网络例如Service Workers,更佳的搜索排名,还有——在你的网站上使用HTTPS是关键.这里我会指导大家如何轻松搞定. 我不是安全 ...

  4. 简单几步让网站支持https,windows iis配置方式

    1.https证书的分类 SSL证书没有所谓的"品质"和"等级"之分,只有三种不同的类型.SSL证书需要向国际公认的证书证书认证机构(简称CA,Certific ...

  5. 简单几步让网站支持https,windows iis下https配置方式

    1.https证书的分类 SSL证书没有所谓的"品质"和"等级"之分,只有三种不同的类型.SSL证书需要向国际公认的证书证书认证机构(简称CA,Certific ...

  6. 使用免费SSL证书让网站支持HTTPS访问

    参考掘金的文章,掘金的文章最详细. https://juejin.im/post/5a31cbf76fb9a0450b6664ee 先检查是否存在 EPEL 源: # 进入目录检查是否存在 EPEL ...

  7. 在阿里云购买SSL证书,让网站支持HTTPS

    SSL简介 引自:https://baike.baidu.com/item/ssl/320778?fr=aladdin SSL SSL(Secure Sockets Layer 安全套接层),及其继任 ...

  8. handbook/CentOS/使用免费SSL证书让网站支持HTTPS访问.md

  9. 让你的网站免费支持 HTTPS 及 Nginx 平滑升级

    为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...

随机推荐

  1. python之获取页面标签的方法

    from urllib.request import urlopen from urllib.error import HTTPError from bs4 import BeautifulSoup ...

  2. 解决ListView 跟ScroolView 共存 listItem.measure(0, 0) 空指针

    在网上找到ListView 和ScroolView 共存的方法无非是给他每个listview 重新增加高度,但是android 的设计者始终认为这并不是一种好的实现方法.但是有的时候有必须要用这种蛋疼 ...

  3. javascript每日一练(八)——事件三:默认行为

    一.阻止默认行为 return false; 自定义右键菜单 <!doctype html> <html> <head> <meta charset=&quo ...

  4. auto_ash

    #!/usr/bin/ksh ##############paramter######################startdate=$1' 00:00:01'enddate=$2' 23:59: ...

  5. ROS使用常见问题

    1.Q:查看ros版本 A:先在终端输入roscore,打开新终端,再输入,rosparam list,再输入rosparam get /rosdistro,就能得到版本. 2.Q:运行命令$ ros ...

  6. Xdebug的优点!php代码开发

    可以跟踪函数,知道那个函数出错,之前只是输出一点调试信息,只是哪一行错了,并且是白色 如果是死循环,debug会对死循环判断一百次的循环,并且会给出每一次循环的时间,内存,和函数名,位置.根据时间可以 ...

  7. 2018年高教社杯全国大学生数学建模竞赛C题解题思路

    题目 C题   大型百货商场会员画像描绘 在零售行业中,会员价值体现在持续不断地为零售运营商带来稳定的销售额和利润,同时也为零售运营商策略的制定提供数据支持.零售行业会采取各种不同方法来吸引更多的人成 ...

  8. QProcess 进程调用

    1. 调用方的接口: void QProcess::start(const QString &program, const QStringList &arguments, OpenMo ...

  9. Python使用正则

    Python中使用正则的两种方式 在Python中有两只能够使用正则表达式的方式: 直接使用re模块中的函数 import re re_string = "{{(.*?)}}" s ...

  10. day08&lt;面向对象+&gt;

    面向对象(代码块的概述和分类) 面向对象(代码块的面试题) 面向对象(继承案例演示) 面向对象(继承的好处和弊端) 面向对象(Java中类的继承特点) 面向对象(继承的注意事项和什么时候使用继承) 面 ...