时间 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
DocumentRoot "/alidata/www/shengma"
ServerName qzd.qzyouxi.com:443
ServerAdmin [email protected]
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
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
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"
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. 我表示无可奈何, 当晚至少查看几十分文档。。。没有一份提到这个。。。
作为常年在别人买的阿里云服务器下工作的人,我表示伤不起。。。