如何配置云服务器 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在线更新方式安装。 ```java [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.下载与上传证书
从阿里云下载证书后一共是四个文件
![这里写图片描述](https://img-blog.csdn.net/2018071417592376?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTc3MTA2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

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

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

使用Xshell上传文件可点击工具栏的新建文件传输按钮,弹出框后点击取消会跳转到另一个标签页,此时可将四个文件直接拖到黑窗口进行上传。
![这里写图片描述](https://img-blog.csdn.net/2018071418121357?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTc3MTA2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
###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 //你的对应证书文件路径

![这里写图片描述](https://img-blog.csdn.net/2018071418243638?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTc3MTA2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
修改并退出。
###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


防火墙配置完成后,必须重新启动防火墙服务,配置才会生效。
```java
[root@Ayase ~]# service iptables restart
Redirecting to /bin/systemctl restart  iptables.service

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

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

###7.测试Apache SSL正常运行
在浏览器中输入【https://域名】,如果出现如下图所示的页面,表示成功配置HTTPS服务。若是显示不安全且证书显示为invalid,但是点击【继续浏览些网站(不推荐)】仍可访问,则可能是证书配置错误,检查证书是否过期或路径是否有误。
如何配置云服务器 CentOS 7.0 系统 Apache HTTPS 服务_第1张图片

你可能感兴趣的:(服务器和linux)