apache配置ssl证书

简介:

目的:在阿里云ESC的apache服务器上部署申请的证书实现HTTPS访问

步骤:

1,申请证书(为阿里云自动配发的证书)

2,在apache上部署

2.1,vim /usr/local/apache/conf/httpd.conf

      查看模块项是否有并将其前面的#去掉

#  LoadModule ssl_module         modules/mod_ssl.so
改为

   LoadModule ssl_module         modules/mod_ssl.so    


  将# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf

改为

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf


2.2,vim /usr/local/apache/conf/extra/httpd-ssl.conf

增加如下项:

  SSLHonorCipherOrder on

#<VirtualHost _default_:443>
<VirtualHost wxjy.peigubao.com:443>

#   General setup for the virtual host
DocumentRoot "/data/www/default"
ServerName wxjy.aaa.com
#ServerName localhost:443
#ServerAdmin you@example.com

ErrorLog "/usr/local/apache/logs/error_ssl_log"
TransferLog "/usr/local/apache/logs/access_ssl_log"

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.

SSLEngine on
#添加SSL 协议支持协议,去掉不安全的协议

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

# 修改加密套件如下
#SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
#SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GC$

# 证书公钥配置
SSLCertificateFile /usr/local/apache/cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile /usr/local/apache/cert/213997737720084.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile /usr/local/apache/cert/chain.pem

</VirtualHost>


2.3,  /usr/local/apache/bin/httpd -k restart


3,由于我这版本是apache2.4.10+openssl0.9.8,重启时报错提示协议TLSv1.1 TSLv1.2为非法协议

解决办法

3.1,升级openssl0.9.8到openssl1.0.1g

步骤:

  wKiom1ilmNSxmtjfAAAffRgUzVk273.png-wh_50

spacer.gif3.2,之后配置

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

依然报警协议为非法

项目域名只支持了TLSv1但是是始终不支持TLSv1.1和TLSv1.2,对苹果测试不通过


报警

wKiom1ilmebTvMidAAALIUtSn-E867.png-wh_50


苹果测试

wKiom1ilmgPjqj7fAAAxNyX_RII819.png-wh_50


3.3,在这纠结很久,后问了下项目维护的运维兄弟,他找了个办法解决了问题,再次十分感谢

如下:

对apache2的模块如果动态编译通常可以使用 /path/apxs -c *.c来完成
但对 mod_ssl编译是会有一些问题
如:
出现
Unrecognized SSL Toolkit!
是由于 HAVE_OPENSSL这个没有define
需要增加 -DHAVE_OPENSSL
undefined symbol: ssl_cmd_SSLMutex

undefined symbol: X509_free
通产是由于静态连接了 openssl的库照成的(默认)。
需要使用 -lcrypto -lssl -ldl
命令如下:

使用 whereis openssl 命令获取lib和include的路径

然后在apache 源码的modules/ssl文件夹下使用命令

/PATH/apxs -I/PATH/openssl/include -L/PATH/openssl/lib -c *.c -lcrypto -lssl -ldl


如下

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

openssl 编译的时候需要增加 shared参数


在次重启

/usr/local/apache/bin/httpd -k restart

没有报错

wKiom1ilnbGTni2zAAAx8fXWZaQ776.png-wh_50

参考原文为:http://blog.chinaunix.net/uid-11297510-id-147709.html

                    http://blog.csdn.net/newjueqi/article/details/9855307 


本文转自 wdy198622 51CTO博客,原文链接:http://blog.51cto.com/weimouren/1898612

相关文章
|
3天前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
26 3
|
14天前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
|
1月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
40 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
1月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
145 7
|
1月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
41 2
|
1月前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
81 1
|
1月前
|
Linux 应用服务中间件 Shell
利用 ACME 实现SSL证书自动化配置更新
【10月更文挑战第11天】多项式承诺原理是密码学中的重要工具,允许证明者向验证者承诺一个多项式并证明其某些性质。Kate多项式承诺是一种知名方案,基于有限域上的多项式表示,通过生成和验证简洁的证明来确保多项式的正确性和隐私。其安全性基于离散对数假设。应用场景包括区块链中的零知识证明和可验证计算,以及多方计算和身份认证协议。在区块链中,Kate多项式承诺可用于保护隐私币和智能合约中的敏感信息。
|
1月前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
145 0
|
1月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
615 13
Apache Flink 2.0-preview released
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
71 3

推荐镜像

更多
下一篇
无影云桌面