centos实现https
实现HTTPS
我们在访问互联网时有两种常用的访问方式http和https ,http是不加密的互联网传输协议,在数据传输过程中容易被拦截窃取信息,而https是加密的网络传输协议,传输更加安全,特别是购物网站,
那么如何实现https呢?在之前的学习中了解到网站为保证用户之间在网上传递信息的安全性、真实性、可靠性、完整性和不可抵赖性,不仅需要对用户的身份真实性进行验证,也需要有一个具有权威性、公正性、唯一性的机构即CA,负责向电子商务的各个主体颁发并管理符合国内、国际安全电子交易协议标准的电子商务安全证,并负责管理所有参与网上交易的个体所需的数字证书。
因此在Linux操作过程中首先创建私有CA,颁发CA证书,这个过程在之前的博客有写过,链接http://blog.csdn.net/jieranjieran/article/details/78116443,假设颁发CA的主机为A,申请CA的主机为B
要把主机B生成的私钥,签名证书和A主机的自签名证书放到A主机的任意目录下我存放在/etc/httpd/conf.d/,对主机B 进行以下操作
1 yum install mod_ssl
2 vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf.d/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf.d/httpd.key
SSLCACertificateFile /etc/httpd/conf.d/cacert.pem
网络访问时会弹出警告添加信任CA就可以访问了
我们注意到在日常生活中访问网站通常输入http: 仍能自动跳转到https:
实现自动跳转方法一:
vim /etc/httpd/conf.d/test.conf
Redirect [status] URL-path URL
例:
Redirect temp / https://www.magedu.com/ 临时跳转
Redirect permanent / https://www.magedu.com/ 永久跳转
实现自动跳转方法二:
服务器端配置支持HSTS后,会在给浏览器返回的HTTP首部中携带HSTS字段。浏览器获取到该信息后,会将所有HTTP访问请求在内部做307跳转到HTTPS。而无需任何网络过程
vim /etc/httpd/conf.d/test.conf
RewriteEngine on
RewriteRule ^(/.*)https://1 [redirect=301](302临时跳转)永久跳转