面试题
https://blog.csdn.net/xihuangwutong/article/list/5?
TLS 有三大功能:内容加密,身份认证,数据完整性认证
内容加密是依赖于秘钥协商协议
数据完整性依赖MAC(message authentication code)
身份认证依赖于证书认证机制:一般浏览器和操作系统会维护一个收信任证书列表,
不可能让每个人都安装各个站点的证书,所以就有了CA,CA证书是广泛的内置系统根证书,会被绝大部分用户接受
CA会根据不同级别的认证颁发不同的证书:域名认证,公司认证,拓展认证
域名认证(确定申请人有这个域名就可以了,认证级别最低)
公司认证(证书里会显示公司的信息)
拓展认证(浏览器里直接显示公司的名字,认证几倍最高)
使用301进行重定向
Nginx:
server {
listent:80;
server_name domain.com www.domain.com;
return 301 https://domain.com$request_uri;
}
apache
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTPS_HOST}%{REQUEST_URI}[R=301,L]
用户一般输入网址的时候不会输入协议名称,这个时候会点击链接或者301重定向
提示警告后继续访问,
这个时候可能会被攻击者获取http篡改,
HSTS严格传输可以阻止用户不接受不安全的证书
在网站的响应头里加入一个强制声明
Strict-transport-security:max-age=31536000 IncludeSubDomains
1
会在接下来的一年里子域名在浏览器里http会自动转换成HTTPS,无法忽略警告继续访问
HTTPS使用cookie的时候要加上set-cookie secure
参考:http://www.ruanyifeng.com/blog/2016/08/migrate-from-http-to-https.html
- https://imququ.com/post/web-proxy-2.html
---------------------
作者:xihuangwutong
来源:CSDN
原文:https://blog.csdn.net/xihuangwutong/article/details/54891963
版权声明:本文为博主原创文章,转载请附上博文链接!