文档章节

Apache2配置https

素人派
 素人派
发布于 2016/12/31 20:49
字数 601
阅读 9
收藏 1
  • 介绍
本文介绍,配置apache2支持https,包括了单向和双向的认证。所谓单向认证,就是客户端来认证服务器是否安全;双向认证就是服务器也会验证客户端是否是安全的——网银一般都是双向的。 如果你不希望你的服务对所有的ip地址都开发的话,可以通过配置来实现,具体请看下文介绍。
  • 增加模块支持
LoadModule ssl_module modules/mod_ssl.so 注意这里的mod_ssl.so必须是能找到的路径
  • 开启https配置支持
SSLEngine on SSLCertificateFile server.crt SSLCertificateKeyFile server.key 这几项加入apache2的配置文件中
  • 创建服务器私钥
openssl genrsa -out server.key 1024
  • 创建签署申请
openssl req -new -out server.csr -key server.key 注意:这里的FQDN填写的域名要和实际的一样才行,不然的话,在通过浏览器访问的时候会提示证书与域名不相符。
  • 创建ca私钥
openssl genrsa -out ca.key 1024
  • 利用ca私钥产生自签名证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
  • 利用ca为网站服务器签名证书
在当前目录创建demoCA,进入该目录后创建文件index.txt和serial,serial内容为01,以及文件夹newcerts openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
  • 重启服务器
service apache2 restart
  • 测试
访问https://yourserver.com
  • 向浏览器中添加证书
在浏览器的证书管理中,将上面签发的ca.crt文件导入即可。
  • 双向认证
上面的认证过程只是客户端对服务器的认证,那服务器对客户端的认证呢? openssl genrsa -aes256 -out client.key.pem 2048 openssl req -new -key client.key.pem -out client.csr openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA ca.crt -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.cer openssl pkcs12 -export -clcerts -inkey client.key.pem -in client.cer -out client.p12 最后把client.p12导入浏览器中。
  • 指定目录下的ssl
[codesyntax lang="ini"]
<Directory /var/www/html>
	SSLRequireSSL
        Options Indexes FollowSymLinks
        AllowOverride All 
        Require all granted
        Allow from all
        SSLVerifyClient require
        SSLVerifyDepth  10
</Directory>
[/codesyntax] 如果只有SSLRequireSSL的话,就只是单向认证。
  • 禁止ip访问
[codesyntax lang="php"]
<Location /wp-login.php>
        Order deny,allow
        Deny from all
        Allow from 192.168.0/24
</Location>

<Directory /var/www/plugins/>
        AllowOverride All
        Allow from 192.168.1.0/24
</Directory>
[/codesyntax] 从上可以看到,我们可以从目录和url两个角度来配置。最关键的是Order的配置,因为会采用最后的配置。例如:deny在后的话,就算前面被allow了,最后还是会禁止。

本文转载自:http://surenpi.com/2015/01/26/apache2%e9%85%8d%e7%bd%aehttps/

素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问

暂无文章

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
10
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
8
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
81
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部