Apache配置https

本文为CentOS环境 ,约定字体颜色为蓝色的路径会依照配置实际环境而改变

Apache在配置https之前要做好对应的模块检查,是否安装好openssl;是否在编译的时候包含ssl模块,若没有编译需要进行如下操作:

①可重新编译apache引入配置参数--enable-ssl

②不重新编译apache 则需要进入编译时的源码包 /apache-src/modules/ssl 这此路径下使用已经编译的apache/bin/apxs来新增模块

apxs -i -a -D HAVE_OPENSSL=1 -I/usr/include/openssl -L/usr/local/lib64/openssl -c *.c -lcrypto -lssl -ldl

(可以通过whereis openssl来获取openssl的include和lib路径 )

新增模块后需要配置httpd.conf和/extra/httpd-ssl.conf,本文中证书文件放置在conf/CA中,[链接]如何生成证书

httpd.conf:

#确认已经引入ssl模块
LoadModule ssl_module  modules/mod_ssl.so
#添加监听443端口
Listen 443
#包含httpd-ssl.conf内容
<IfModule ssl_module>
    #添加include
    Include conf/extra/httpd-ssl.conf
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
</IfModule>
#配置虚拟主机
<Virtual Host *:443>或者<Virtual Host _default_:443>
    SSLEngine ON
    #以下文件依照实际情况
    SSLCertificateFile      apache/conf/CA/ssl.crt
    SSLCertificateKeyFile   apache/conf/CA/ssl.key
    #其他的与配置host相同
</VirtualHost>

httpd-ssl.conf与httpd.conf配置相同,为了严谨,将两个文件对应属性配置相同
#将<VirualHost _default_:443>设置于httpd.conf的相同
#注释掉cache项
#SSLSessionCache  
#SSLSessionCacheTimeout
SSLCertificateFile     apache/conf/CA/ssl.crt
SSLCertificateKeyFile  apache/conf/CA/ssl.key

用httpd -t检查语法,以及apachectl restart


个人遇到的坑:

①httpd上原有的虚拟主机要设置好端口,将80转发给80的站点<VritualHost *:80>而不是使用<VritualHost>

②证书的选择,要使用正确且配对的server端crt和key

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值