我在阿里云服务器上的 centos7 上 apache 安装https pem 证书的悲惨经历

1 篇文章 0 订阅
1 篇文章 0 订阅


时间 2017-6-9 夜。。。


1. 首先肯定是申请证书,在阿里云左侧菜单-》云盾-》证书服务、
点击进入选择购买证书,当然买了那个免费的,csr 文件则由系统生成就好了。


2. 申请完后进入证书列表,点击后面的下载,进入下载页面可以选择,我选的apache
下面的是阿里云的注释。


4. 打开Apache配置文件 httpd.conf 开启模块(就是去掉前面的注释#)
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf
不得不说阿里云漏了一个 , #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 忘了开。。


5. 打开对应的 conf/extra/httpd-ssl.conf 文件
这个文件是apache https 的web 配置。 文件里面注释非常多,其实就是一个普通的web配置。 如下是我的配置,如果你有多个https服务器的话,可以把下面的部分截取出来,每个web服一个文件一份配置,然后再include 进来。(就像http服务器的web配置那样。)
Listen 443
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
SSLPassPhraseDialog  builtin
SSLSessionCache        "shmcb:/alidata/server/httpd/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300
<VirtualHost *:443>
DocumentRoot "/alidata/www/shengma"
ServerName qzd.qzyouxi.com:443
ServerAdmin qz@qzyouxi.com
ErrorLog "/alidata/server/httpd/logs/error_log1"
TransferLog "/alidata/server/httpd/logs/access_log1"
SSLEngine on
SSLCertificateFile /alidata/server/httpd/cert/public.pem
SSLCertificateKeyFile /alidata/server/httpd/cert/214138528660411.key
SSLCertificateChainFile /alidata/server/httpd/cert/chain.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/alidata/server/httpd/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/alidata/server/httpd/logs/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>


6. 配置完了记得重启 apache, 在apache 安装目录下的bin 目录下有  apachectl restart
重启完记得看一下 日志, 在apache 安装目录下的logs 里面的error_log 日志,是否有报错


没报错的话,执行, netstat -apn | grep httpd 查看apache是否已经在监听 443端口。
如果看到 0 0.0.0.0:443 说明在监听了。


7. httpd 已经在监听443端口之后,只要开启443 端口的防火墙就好了。
方法1. 使用centos默认的firewall
firewall 的命令有
停止 systemctl  stop firewalld.service
启动 systemctl  start firewalld.service
查看状态 systemctl status firewalld.service
开启端口 firewall-cmd --zone=public --add-port=443/tcp --permanent
查看端口是否开启防火墙 firewall-cmd --query-port=443/tcp
firewall-cmd --list-ports


     2. 关闭firewall ,使用常用的 iptables 
这个可以参考链接,https://segmentfault.com/a/1190000006736884
写的很详细。


8. 开启443 端口之后,可以在站长之家扫描,或者在linux 下个tcping , tcping www...com 443 查看端口是否已经开启。


9. 好吧,所有步骤都搞好了。发现,,,443端口没开启。。


10.查阅无数文档之后我不得解。
然后问了朋友, 原来我漏了一步,要上阿里云平台 安全策略哪里 手动开启一下443 端口
在阿里云 云盾,安全服务哪里。。。


11. 我表示无可奈何, 当晚至少查看几十分文档。。。没有一份提到这个。。。
作为常年在别人买的阿里云服务器下工作的人,我表示伤不起。。。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值