本文共 1349 字,大约阅读时间需要 4 分钟。
angularjs做的网站,用户反映路由跳转时总是回到首页。
尼玛这个问题真恶心啊,远程调试半天,发现是他的网络被劫持了。 然后自动给我把html也没换成了如下一个页面第一行代码就是跳转首页。cnm
网上搜索都是一句话:
问题是怎么只劫持ui-view加载的模板,ng-include进来的模板就没有劫持。
【对比ng-include的请求和ui-view的请求,发现Accept是不同的】 ng-include的是:Accept:application/json, text/plain, /而ui-view 的是 Accept:text/html应该是这样的,劫持,基本劫持的是html页面,如果accept 为application/json,他的理解就是json而不是html, 而 accept为text/html时,自然就被劫持了。 但只是知道了这个,仍然不知道怎么去改,因为这请求时ui-view里面封装的,不大好改。
然后终极办法是升级网站为https。
好吧,那我就升级吧。[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]: CNCN=free4lab, OU=free4lab, O=free4lab, L=beijing, ST=beijing, C=CN 正确吗? [否]: y输入的主密码 (如果和 keystore 密码相同,按回车): [root@centos apache-tomcat-6.0.37]# cat conf/.keystore
然后修改tomcat配置文件server.xml
访问效果如下:
通过curl访问,就忽略验证证书这一步
[root@f0 huahui]# curl --insecure https://192.168.1.190:8443/hello huahuiyangssl https
这样浏览器访问就相对安全了,浏览器和服务端进行了非对称加密的握手,然后协商对称加密的密钥,然后进行相对快速的对称加密传输。
即时密文在网络传输中被截获,因为无法获知对称密钥,所以这个http api就是安全的!转载地址:http://kstyo.baihongyu.com/