https基础
Posted xihuangwutong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了https基础相关的知识,希望对你有一定的参考价值。
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
会在接下来的一年里子域名在浏览器里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
以上是关于https基础的主要内容,如果未能解决你的问题,请参考以下文章