博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache 强制全站https请求(配置ssl证书)
阅读量:6171 次
发布时间:2019-06-21

本文共 1442 字,大约阅读时间需要 4 分钟。

环境:Apache2.2 + Centos 6.8

最近做网站需要用到https,像百度、京东那样,浏览器上有个绿色的小锁头,同时数据加密也是网站很大的保障。由于是临时测试的,所以在阿里云上面买了个赛门铁克的免费型的证书。(中间申请部分略过)证书最后颁发的时候,可以在列表页操作下载,进入下载页,选择Apache,然后可以按照上面的官方的文档配置,但是不需要这么做,刚开始弄这个的人,估计度娘谷歌了很久还是懵逼,因为最后在地址栏输入域名刷新的时候,却不是自己想要的效果。要这么来,保准你次次都行。
咋们先要这么想:比如我手上有个一个域名www.aaa.com,那既然是要全站强制跳转https,那就要配两个虚拟主机,一个是监听80端口的,这个虚拟机只做监听和转发的工作,不用配置啥站点根目录。还有一个是监听443端口的,这个做真正的访问工作,除了需要配置原本没有ssl之前80虚拟机需要做的工作外,还要开启ssl引擎验证、指定证书位置、私钥(私钥都放自己的服务器上用来接收请求的时候解密数据用的;公钥是访问的时候,客户端会下载),看懂了上面的话,下面的配置就不成问题了。

#记得监听这个端口Listen 443#load这个ssl模块进来LoadModule ssl_module modules/mod_ssl.so
ServerName www.aaa.com ServerAlias aaa.com RewriteEngine on RewriteRule ^(.*)?$ https://www.aaa.com$1 [R=301,L]
ServerAdmin aaa@163.com DocumentRoot "/home/aaa/webroot" ServerName www.aaa.com #开启ssl引擎 SSLEngine on #写你证书的路径 SSLCertificateFile /etc/httpd/cert/public.pem #写你私钥的路径 SSLCertificateKeyFile /etc/httpd/cert/21427950260000000.key #设置站点访问规则
Options FollowSymLinks AllowOverride None Order allow,deny Allow from all
#指定错误日志&访问日志 ErrorLog "logs/aaa.com-error_log" CustomLog "logs/aaa.com-access_log" common

其中要说明的是,在80虚拟机配置的最后一行,^(.*)? 和$1 这两东西代表了比如你访问了www.aaa.com/public/index/ ,那么这段url的/public/index/会被占位的$1变量都会照旧复制过来,[R=301,L]代表永久转发。其实现在好多人都一窝蜂的都去用nginx了,抗高并发比apache牛,占用内存也少,可以考虑从apache+tomcat转向nginx+tomcat了,apache只是情怀

转载地址:http://eetba.baihongyu.com/

你可能感兴趣的文章
访问控制-禁止php解析、user_agent,PHP相关配置
查看>>
AgileEAS.NET之系统架构
查看>>
python3.5里的正则表达式
查看>>
Exchange server 2013 SP1 客户端会议室邮箱自动回复延迟
查看>>
nginx反向代理缓存服务器构建
查看>>
RHEL6 搭建LVS/DR 负载均衡集群 案例
查看>>
以太坊·Rinkeby 测试网络
查看>>
字符串按规则排序算法
查看>>
MPLS + BGP高级特性
查看>>
plist文件读写操作
查看>>
oracle resetlogs和noresetlogs 创建控制文件区别
查看>>
2013-7-17学习作业练习
查看>>
ZAM 3D入门教程(4):Extrusion编辑器
查看>>
《深入实践Spring Boot》一第2章 在Spring Boot中使用数据库2.1 使用MySQL
查看>>
C++语言基础 例程 字符串类
查看>>
[Docker系列·7] 使用nsenter调试Docker镜像
查看>>
[Docker系列·11] 搭建ZooKeeper服务器
查看>>
PostgreSQL 与 12306 抢火车票的思考
查看>>
堆排序
查看>>
Java的热部署(后期完善)
查看>>