网站怎么启用https访问
密,因此,所传送的数据不容易被网络黑客截获和破解。本文介绍HTTPS的三种实现方法
。
方法一 静态超链接
这是目前网站中使用得较多的方法,也最简单。在要求使用SSL进行传输的Web网页链接
中直接标明使用HTTPS协议,以下是指向需要使用SSL的网页的超链接:
<a href=“https://192168100100/ok/securePagejsp”>SSL例子</a>
需要说明的是,在网页里的超链接如果使用相对路径的话,其默认启用协议与引用该超
链接的网页或资源的传输协议相同,例如在某超链接“https://192168100100/ok/l
oginjps”的网页中包含如下两个超链接:
<a href=“/bessl/examjsp”>SSL链接</a>
<a href=“http://192168100100/notssl/indexjsp”>非SSL链接
那么,第一个链接使用与“https://192168100100/ok/loginjsp”相同的传输协议
HTTPS,第二个链接使用本身所标识的协议HTTP。
使用静态超链接的好处是容易实现,不需要额外开发。然而,它却不容易维护管理; 因
为在一个完全使用HTTP协议访问的Web应用里,每个资源都存放在该应用特定根目录下的
各个子目录里,资源的链接路径都使用相对路径,这样做是为了方便应用的迁移并且易
于管理。但假如该应用的某些资源要用到HTTPS协议,引用的链接就必须使用完整的路径
,所以当应用迁移或需要更改URL中所涉及的任何部分如:域名、目录、文件名等,维护
者都需要对每个超链接修改,工作量之大可想而知。再者,如果客户在浏览器地址栏里
手工输入HTTPS协议的资源,那么所有敏感机密数据在传输中就得不到保护,很容易被黑
客截获和篡改!
方法二 资源访问限制
为了保护Web应用中的敏感数据,防止资源的非法访问和保证传输的安全性,Java Serv
let 22规范定义了安全约束(Security-Constraint)元件,它用于指定一个或多个We
b资源集的安全约束条件;用户数据约束(User-Data-Constraint)元件是安全约束元件
的子类,它用于指定在客户端和容器之间传输的数据是如何被保护的。用户数据约束元
件还包括了传输保证(Transport-Guarantee)元件,它规定了客户机和服务器之间的通
信必须是以下三种模式之一:None、Integral、Confidential。None表示被指定的Web资
源不需要任何传输保证;Integral表示客户机与服务器之间传送的数据在传送过程中不
会被篡改; Confidential表示数据在传送过程中被加密。大多数情况下,Integral或Co
nfidential是使用SSL实现。
这里以BEA的WebLogic Server 61为例介绍其实现方法,WebLogic是一个性能卓越的J2
EE服务器,它可以对所管理的Web资源,包括EJB、JSP、Servlet应用程序设置访问控制
条款。假设某个应用建立在Weblogic Server里的/mywebAPP目录下,其中一部分Servle
ts、JSPs要求使用SSL传输,那么可将它们都放在/mywebAPP/sslsource/目录里,然后编
辑/secureAPP/Web-INF/webxml文件,通过对webxml的设置可达到对Web用户实现访问
控制。
当Web用户试图通过HTTP访问/sslsource目录下的资源时,Weblogic Server就会查找we
bxml里的访问约束定义,返回提示信息:Need SSL connection to access this reso
urce。资源访问限制与静态超链接结合使用,不仅继承了静态超链接方法的简单易用性
,而且有效保护了敏感资源数据。然而,这样就会存在一个问题: 假如Web客户使用HT
TP协议访问需要使用SSL的网络资源时看到弹出的提示信息: Need SSL connection to
access this resource,大部分人可能都不知道应该用HTTPS去访问该网页,造成的后果
是用户会放弃访问该网页,这是Web应用服务提供商不愿意看到的事情。
方法三 链接重定向
综观目前商业网站资源数据的交互访问,要求严格加密传输的数据只占其中一小部分,
也就是说在一个具体Web应用中需要使用SSL的服务程序只占整体的一小部分。那么,我
们可以从应用开发方面考虑解决方法,对需要使用HTTPS协议的那部分JSPs、Servlets或
EJBs进行处理,使程序本身在接收到访问请求时首先判断该请求使用的协议是否符合本
程序的要求,即来访请求是否使用HTTPS协议,如果不是就将其访问协议重定向为HTTPS
,这样就避免了客户使用HTTP协议访问要求使用HTTPS协议的Web资源时,看到错误提示
信息无所适从的情况,这些处理对Web客户来说是透明的。
实现思想是:首先创建一个类,该类方法可以实现自动引导Web客户的访问请求使用HTT
PS协议,每个要求使用SSL进行传输的Servlets或JSPs在程序开始时调用它进行协议重定
向,最后才进行数据应用处理。
J2EE提供了两种链接重定向机制。第一种机制是RequestDispatcher接口里的forward()
方法。使用MVC(Model-View-Controller)机制的Web应用通常都使用这个方法从Servlet
转移请求到JSP。但这种转向只能是同种协议间的转向,并不能重定向到不同的协议。第
二种机制是使用HTTPServletReponse接口里的sendRedirect()方法,它能使用任何协议
重定向到任何URL,例如:
BeSslResponsesendRedirect(“https://192168100100/order”);
此外,我们还需使用到Java Servlet API中的两个方法:ServletRequest接口中的getS
cheme(),它用于获取访问请求使用的传输协议;HTTPUtils类中的getRequestUrl(),它
用于获取访问请求的URL,要注意的是该方法在Servlet 23中已被移到HTTPServletReq
uest接口。
以下是实现协议重定向的基本步骤:
1 获取访问的请求所使用的协议;
2 如果请求协议符合被访问的Servlet所要求的协议,就说明已经使用HTTPS协议了,不
需做任何处理;
3 如果不符合,使用Servlet所要求的协议(HTTPS)重定向到相同的URL。
例如,某Web用户使用HTTP协议访问要求使用HTTPS协议的资源BeSslServlet,敲入“UR
L:http://192168100100/BeSslServlet”,在执行BeSslServlet时首先使用Proces
sSslServlet.processSsl()重定向到https://192168100100/BeSslServlet,然后
BeSslServlet与客户浏览器之间就通过HTTPS协议进行数据传输。
以上介绍的仅是最简单的例子,是为了对这种重定向的方法有个初步的认识。假如想真
正在Web应用中实现,还必须考虑如下几个问题:
● 在Web应用中常常会用到GET或Post方法,访问请求的URL中就会带上一些查询字串,
这些字串是使用getRequesUrl()时获取不到的,而且在重定向之后会丢失,所以必须在
重定向之前将它们加入到新的URL里。我们可以使用requestgetQueryString()来获取G
ET的查询字串,对于Post的Request参数,可以把它们转换成查询串再进行处理。
● 某些Web应用请求中会使用对象作为其属性,必须在重定向之前将这些属性保存在该
Session中,以便重定向后使用。
● 大多数浏览器会把对同一个主机的不同端口的访问当作对不同的主机进行访问,分用
不同的Session,为了使重定向后保留使用原来的Session,必须对应用服务器的Cookie
域名进行相应的设置。
以上问题均可在程序设计中解决。
通过程序自身实现协议重定向,就可以把要求严格保护的那部分资源与其他普通数据从
逻辑上分开处理,使得要求使用SSL的资源和不需要使用SSL的资源各取所需,避免浪费
网站的系统资源。
https叫安全的超文本传输协议,使用TCP端口443,他的数据会用PKI中的公钥进行加密,这样抓包工具捕获到的数据包也没有办法看包中的内容,安全性大大提高,要解密数据的话就要用到PKI中的私钥。所以一些安全性比较高的网站如:网上银行,电子商务网站都需要用https访问。
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面,一些企业的保密邮箱,会使用https加密,还有一些网银站点,支付宝、财付通等关于金融类的站点为了安全性一般都会使用https站。
网站要实现HTTPS访问,首选你需要申请一张SSL证书,然后将SSL证书部署到服务器端,开启443端口,就可以实现HTTPS访问了。另外,如何获得SSL证书呢?可以到CA机构申请付费和免费的SSL证书,目前一些机构推出了免费SSL证书,如沃通CA推出了3年期多域名免费SSL,可以进行免费申请。如何部署SSL证书了,在申请的时候,有相应的部署指导手册。
这样理解:
HTTP访问是在HTTP协议下明文传输数据,不安全;而HTTPS在HTTP上加入了SSL/TLS协议,所有数据都是加密传输的,是安全的。
所谓支持HTTPS就是已在服务器上部署了SSL证书,网站支持以https形式访问(如: https://wwwevtrustcom)!如果网站没有对之前的http 形式访问进行重定向到https的话,就是说目前该网站支持两种形式的分别访问。若是已然重定向,则以http 形式访问时会自动跳转到https访问!!!
做到访问域名直接进https模式的具体步骤如下:
1、下载PHPCUSTOM集成环境。进入百度,输入“PHPCUSTOM”搜索并下载。
2、点击PHPCUSTOMexe文件打开该软件。
3、根据实际情况选择您需要的web服务器(可选项包括:Apache、Nginx、IIS服务器)。
4、在软件首页界面上,点击“网站管理”。
5、打开“网站管理”界面后,再点击“站点管理”按钮,添加需实现https访问的站点。
6、最后在证书设置这里填写您的证书即可。(注意:勾选https自动跳转后一定要记得清除浏览器缓存,然后就可以看到效果。)
这样就解决了“访问域名直接进https模式”的问题。
HTTPS实际是SSL over HTTP, 该协议通过SSL在发送方把原始数据进行加密,在接收方解\x0d\密,因此,所传送的数据不容易被网络黑客截获和破解。\x0d\具体如下:\x0d\1电脑网卡驱动出现错误,右键点击我的电脑-管理-设备管理器-网络适配器。看看网卡驱动有没有在,**感叹号更新下网卡驱动,**问号,就在联网的电脑上下载集成网卡的驱动精灵或驱动人生,然后安装,自动认出网卡驱动,重启搞定。\x0d\2、网卡损坏,如果网卡坏了的话,安装驱动也没用,保修范围内就送修吧,或者买一个独立网卡,即插即用的。\x0d\3远程客户端的问题,比如,电信或者网通的服务器出现问题,一般情况下是拨号的时候错误码为 678。691为帐号或密码错误。\x0d\4用猫或路由器的话,检查一下设备是否损坏。
作为国内领先的云计算服务商,小鸟云有着完善的行业解决方案和卓越的云计算技术。自主研发的纯SSD架构云服务器,以50,000IOPS随机读写速度、800Mb/s吞吐量的高性能数值刷新行业记录。其整合资源、细化资源到落地资源的服务举措,旨在打造差异化的开放式闭环生态系统,帮助用户快速构建稳定、安全的云计算环境。
配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定服务器端证书和密钥文件的位置:
server {
listen 443;
server_name wwwexamplecom;
ssl on;
ssl_certificate wwwexamplecomcrt;
ssl_certificate_key wwwexamplecomkey;
ssl_protocols SSLv3 TLSv1 TLSv11 TLSv12;
ssl_ciphers HIGH:!aNULL:!MD5;
}
服务器证书是公开的,会被传送到每一个连接到服务器的客户端。而私钥不是公开的,需要存放在访问受限的文件中,当然,nginx主进程必须有读取密钥的权限。私钥和证书可以存放在同一个文件中:
ssl_certificate wwwexamplecomcert;
ssl_certificate_key wwwexamplecomcert;
这种情况下,证书文件同样得设置访问限制。当然,虽然证书和密钥存放在同一个文件,只有证书会发送给客户端,密钥不会发送。
ssl_protocols和ssl_ciphers指令可以用来强制用户连接只能引入SSL/TLS那些强壮的协议版本和强大的加密算法。从105版本开始,nginx默认使用“ssl_protocols SSLv3 TLSv1”和“ssl_ciphers HIGH:!aNULL:!MD5”,所以只有在之前的版本,明确地配置它们才是有意义的。从1113和1012版本开始,nginx默认使用“ssl_protocols SSLv3 TLSv1 TLSv11 TLSv12”。
CBC模式的加密算法容易受到一些攻击,尤其是BEAST攻击(参见CVE-2011-3389)。可以通过下面配置调整为优先使用RC4-SHA加密算法:
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
0条评论