网站升级为https过程记录-tomcat

1.创建.keystore

[root@centos apache-tomcat-6.0.37]# keytool -genkey -alias tomcat -keyalg RSA -keystore /root/tomcat/apache-tomcat-6.0.37/conf/.keystore
输入keystore密码:  
再次输入新密码: 
您的名字与姓氏是什么?
  [Unknown]:  free4lab
您的组织单位名称是什么?
  [Unknown]:  free4lab
您的组织名称是什么?
  [Unknown]:  free4lab
您所在的城市或区域名称是什么?
  [Unknown]:  beijing
您所在的州或省份名称是什么?
  [Unknown]:  beijing
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=free4lab, OU=free4lab, O=free4lab, L=beijing, ST=beijing, C=CN 正确吗?
  [否]:  y

输入<tomcat>的主密码
    (如果和 keystore 密码相同,按回车):  
[root@centos apache-tomcat-6.0.37]# cat conf/.keystore
img_90f5e421281b64583930d42840eaee74.png
创建.keystore

2.然后修改tomcat配置文件server.xml

<Connector port="8800" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true" protocol="org.apache.coyote.http11.Http11Protocol"
               clientAuth="false" keystoreFile="/opt/tomcat/conf/.keystore" keystorePass="wewell"  sslProtocol="TLS" />

然后重启tomcat访问即可:

img_6635378c3005773e07b6685181f83402.png
访问

遇到的坑 hppt和https不能同时访问

提供一个解决思路

  • 1.相对协议
    如果你的网站同时准备了 https 资源和 http 资源,那么,可以使用相对协议可以帮助你实现当网站引入的都是 http 资源,网站域名更换为 https 后的无缝切换。具体使用方法为:
//![](//domain.com/img/logo.png)

简而言之,就是将URL的协议(http、https)去掉,只保留//及后面的内容。这样,在使用https的网站中,浏览器会通过https请求URL,否则就通过http发送请求。附注:如果是浏览本地文件,浏览器通过file://协议发送请求,导致请求失败,因此本地测试最好是搭建一个本地服务器。
HTML5 Boilerplate 使用相对协议请求 Google CDN 中的 jQuery ,使用方式为:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
 <script>
!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))
</script>

上面的例子中除了引用 Google CDN 中的文件外,还添加了一个本地 jQuery 链接,以便连接 Google CDN 失败后,使用本地副本。

代码判断过程为:首先检查 jquery 对象是否存在,如果存在,证明 Google CDN 运行正常;如果不存在,则说明连接 Google CDN 失败,引入本地 jQuery 库。

本猿认为,在国内相对特殊的网络环境中,Google CDN 请求缓慢甚至失败常有,因此不推荐引用 Google CDN 托管的各种库。即便有备用链接,浏览器还是会多次尝试请求 Google CDN 中的文件,这个过程可谓漫长,严重影响页面载入速度。

  • 2.使用 iframe

使用 iframe 的方式引入 http 资源,比如在 https 里面播放优酷的视频,我们可以先在一个 http 的页面里播放优酷视频,然后将这个页面嵌入到 https 页面里就可以了。
另外一个典型的例子是在 https 页面里通过 Ajax 的方式请求 http 资源,Chrome 是不允许直接 Ajax 请求 http 的。如果两个页面的内容都可以控制的话,当前窗口可以 iframe 窗口进行通信。

  • 3.其他用法

这个小技巧同样适用于 CSS :

.omg { background: url(//websbestgifs.net/kittyonadolphin.gif); }

附注:<link>
或@import
引入样式表时使用相对协议,IE7、IE8 会下载文件两次。

我的angularjs程序解决思路

所有的异步请求都是一个配置文件中定义的,我在程序开始运行时进行了判断,访问协议是http的就http访问,https的就https访问。

img_a267377d5f6e68e6b276c1f28de3bcd8.png
我的解决兼容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值