设为首页 收藏本站
查看: 1471|回复: 0

[经验分享] apache配置ssl证书

[复制链接]

尚未签到

发表于 2018-11-19 06:26:32 | 显示全部楼层 |阅读模式
  目的:在阿里云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
  #


#   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


  

  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
  步骤:

DSC0000.png

DSC0001.png 3.2,之后配置

  SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
  依然报警协议为非法
  项目域名只支持了TLSv1但是是始终不支持TLSv1.1和TLSv1.2,对苹果测试不通过
  

  报警

DSC0002.png

  

  苹果测试
DSC0003.png

  

  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
  没有报错

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

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

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636691-1-1.html 上篇帖子: 在apache上增加端口 下篇帖子: windows环境下使用apxs编译添加apache模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表