Apache的https实现

我们之前搭建的网站基于http协议,是没有进行加密的,网站的有些信息可能会泄露,所以我们可以在这基础上进行加密,下面简单介绍加密过程

配置HTTPS

实现步骤:
(1)为服务器申请数字证书
(2)配置服务器支持ssl

yum -y install mod_ssl  #安装支持ssl的模块
配置文件:/etc/httpd/conf.d/ssl.conf
----------------------------------------
DocumentRoot #文档的根目录,这个目录会覆盖默认目录,如果创建虚拟主机时不想转到默认目录,可以使用
ServerName #服务器FQDN
SSLCertificateFile #证书路径
SSLCertificateKeyFile #生成证书的私钥路径

HTTP重定向HTTPS

将http请求转发至https的URL重定向

Redirect [status] URL-path URL

status状态:
Permanent:Returns a permanent redirect status
(301) indicating that the resource has moved
permanently
Temp:Returns a temporary redirect status (302).
This is the default
示例:
Redirect temp / https://www.magedu.com/

HSTS

HSTS:HTTP Strict Transport Security
服务器端配置支持HSTS后,会在给浏览器返回的HTTP首部中携带HSTS字段。浏览器获取到该信息后,会将所有HTTP访问请求在内部做307跳转到HTTPS。而无需任何网络过程

HSTS preload list
是Chrome浏览器中的HSTS预载入列表,在该列表中的网站,使用Chrome浏览器访问时,会自动转换成HTTPS。 Firefox、 Safari、Edge浏览器也会采用这个列表
实现HSTS示例:

vim /etc/httpd/conf/httpd.conf
Header always set Strict-Transport-Security "maxage=15768000"
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301] #301状态码表示永久重定向

重定向之前要考虑好是哪种类型重定向

完整实例

[root@centos6 conf.d]# pwd
/etc/httpd/conf.d
[root@centos6 conf.d]# vi test.conf 
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.x.com
    Header always set Strict-Transport-Security "maxage=365"
    RewriteEngine on
    RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302] #302状态码表示临时重定向
</VirtualHost>
[root@centos6 conf.d]# vi ssl.conf
SSLCertificateFile /etc/httpd/conf.d/ssl/httpdx.crt #添加证书文件路径
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key #添加证书私钥路径

文件根目录默认为主配置文件/etc/httpd/conf/httpd.conf的DocumentRoot路径,如果想覆盖默认的,可以在ssl.conf配置文件里自己加DocumentRoot路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值