51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

如何配置云服务器 CentOS 7.0 系统 Apache HTTPS 服务

弄好SSL证书之后就可以开始配置HTTPS服务了。这里我直接使用的阿里云的PHP环境镜像,测试环境如下:

  • CentOS 7.0 (https://www.centos.org/)
  • Apache httpd 2.4.6 (http://httpd.apache.org)
  • OpenSSL 1.0.1 (http://www.openssl.org/source)

1.连接到服务器 这里我用的是Xshell,连接方法就不说了,网上很多教程。 ### 2.安装mod_ssl模块 首先检查是否已安装SSL软件

[root@Ayase ~]# rpm -qa | grep mod_ssl

如果发现什么都没显示说明没有安装,没有安装mod_ssl模块,Web服务器就无法提供SSL服务。

[root@Ayase httpd]# rpm -qa | grep mod_ssl
[root@Ayase httpd]#

可使用yum在线更新方式安装。

[root@Ayase ~]# yum install -y mod_ssl		//安装SSL软件
Dependencies Resolved

================================================================================================================================================== Package Arch Version Repository Size

Installing: mod_ssl x86_64 1:2.4.6-80.el7.centos.1 updates 111 k Updating for dependencies: httpd x86_64 2.4.6-80.el7.centos.1 updates 2.7 M httpd-devel x86_64 2.4.6-80.el7.centos.1 updates 196 k httpd-tools x86_64 2.4.6-80.el7.centos.1 updates 90 k openssl x86_64 1:1.0.2k-12.el7 base 492 k openssl-libs x86_64 1:1.0.2k-12.el7 base 1.2 M

Transaction Summary

Install 1 Package Upgrade ( 5 Dependent packages)

Total download size: 4.8 M

Installed: mod_ssl.x86_64 1:2.4.6-80.el7.centos.1

Dependency Updated: httpd.x86_64 0:2.4.6-80.el7.centos.1 httpd-devel.x86_64 0:2.4.6-80.el7.centos.1 httpd-tools.x86_64 0:2.4.6-80.el7.centos.1

openssl.x86_64 1:1.0.2k-12.el7 openssl-libs.x86_64 1:1.0.2k-12.el7

Complete! //完成


安装成功后再次执行会显示版本信息:

[root@Ayase httpd]# rpm -qa | grep mod_ssl
mod_ssl-2.4.6-80.el7.centos.1.x86_64

3.下载与上传证书 {#3-下载与上传证书}

从阿里云下载证书后一共是四个文件
这里写图片描述

在Apache的安装目录(/etc/httpd)下创建cert目录,并将上面四个文件上传到该目录。

[root@Ayase ~]# mkdir /etc/httpd/cert
[root@Ayase ~]# cd /etc/httpd/cert/

使用Xshell上传文件可点击工具栏的新建文件传输按钮,弹出框后点击取消会跳转到另一个标签页,此时可将四个文件直接拖到黑窗口进行上传。
这里写图片描述

4.配置SSL {#4-配置SSL}

首先编辑SSL配置文件,检查端口是否为443及前面是否有#号,LoadModule是指支持HTTP所需要的模块,如果没有LoadModule,可手动添加一行LoadModule ssl_module modules/mod_ssl.so

[root@Ayase ~]# vim /etc/httpd/conf.d/ssl.conf 	//编辑SSL配置文件,也可能是/etc/httpd/conf/extra/httpd-ssl.conf文件,与操作系统及安装方式有关)

LoadModule ssl_module modules/mod_ssl.so //支持SSL模块

When we also provide SSL we have to listen to the

the HTTPS port in addition.

Listen 443 https //http ssl默认端口为443,如果有#号需删除才可以使用


修改相应的证书信息(配置文件中这些条目并不是挨着的),可以在阿里云证书下载页面复制该信息然后将原有的注释掉。

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile /etc/httpd/cert/public.pem			//你的对应证书文件路径
# 证书私钥配置
SSLCertificateKeyFile /etc/httpd/cert/111111111111111.key	//你的对应证书文件路径(将文件名改成你自己的)
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile /etc/httpd/cert/chain.pem		//你的对应证书文件路径

这里写图片描述
修改并退出。

5.配置防火墙 {#5-配置防火墙}

SSL服务必须在防火墙配置中开启443端口,HTTPS才可以对外连接。

[root@Ayase ~]# vim /etc/sysconfig/iptables

sample configuration for iptables service

you can edit this manually or use system-config-firewall

please do not ask us to add additional ports/services to this default configuration

*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT //SSL端口 -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT


防火墙配置完成后,必须重新启动防火墙服务,配置才会生效。

[root@Ayase ~]# service iptables restart
Redirecting to /bin/systemctl restart  iptables.service

6.重启apache服务 {#6-重启apache服务}

一切配置完成后,必须重新启动apache服务,Apache配置都会生效。

[root@Ayase httpd]# service httpd restart
Redirecting to /bin/systemctl restart  httpd.service

7.测试Apache SSL正常运行 {#7-测试Apache-SSL正常运行}

在浏览器中输入【https://域名】,如果出现如下图所示的页面,表示成功配置HTTPS服务。若是显示不安全且证书显示为invalid,但是点击【继续浏览些网站(不推荐)】仍可访问,则可能是证书配置错误,检查证书是否过期或路径是否有误。
这里写图片描述

赞(1)
未经允许不得转载:工具盒子 » 如何配置云服务器 CentOS 7.0 系统 Apache HTTPS 服务