面试题
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 版权声明:本文为博主原创文章,转载请附上博文链接!