X Chen笔记----Centos7使用apache/httpd搭建web环境,并开启SSL证书认证

 

一:使用apache搭建web环境

1.安装apache

yum install httpd

2.下载配置网页模板

wget http://down.cssmoban.com/cssthemes5/cpts_1679_coq.zip
unzip cpts_1679_coq.zip
mv cpts_1679_coq/* /var/www/html

3. 启动apache服务

systemctl start httpd
systemctl enable httpd

4.测试网页是否正常

直接浏览器输入IP/域名即可,如果网页无法打开,一般是防火墙导致,直接关闭防火墙或开放80,443两个端口

systemctl stop firewalld.service

 

二. 开启SSL证书认证

1.安装SSL服务模块

不同方式安装的apache配置文件目录也不同,本次仅以yum方式安装的为例。

首先判断CentOS7是否已经安装了SSL证书服务模块 mod_ssl 与 openssl:

rpm -qa mod_ssl

键入上式,没有反应就是没有安装SSL证书服务模块 mod_ssl。一般新装的CentOS7默认没有安装。

 

rpm -qa openssl

键入上式,没有反应就是没有安装SSL证书服务模块 openssl。一般新装的CentOS7默认有安装。为:openssl-1.0.2k-12.el7.x86_64 
 

安装mod_ssl 与openssl

yum install mod_ssl openssl -y

成功安装mod_ssl之后,就会在目录/etc/httpd/conf.d下自动生成ssl.conf文件。

 

2. 证书下载

购买好域名以后,去阿里云申请一个免费的SSL证书,然后根据服务器类型下载对应证书。apache下载下来的是证书是三个文件,分别为

证书公钥:xxx_public.crt

证书私钥:xxx.key

证书链:   xxx _chain.crt

 .crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成.pem等扩展名。

 

3.证书上传

将前述步骤下载的证书,上传到apache服务器上,保存位置随意,只要记得就行,这里 创建一个cert文件夹,并将以上三个文件都放入这个文件夹,对应路径为:

cert/xxx_public.crt

cert/xxx.key

cert/xxx _chain.crt

 

4.修改配置文件

vi /etc/httpd/conf/httpd.conf

将以下两条命令前的#号去掉
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出)

 

vi /etc/httpd/conf.d/ssl.conf

在配置文件中查找以下配置语句:
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3

# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on

# 证书公钥配置(大约第100行)
SSLCertificateFile cert/XXX_public.crt

# 证书私钥配置(大约第107行)
SSLCertificateKeyFile cert/XXX.key

# 证书链配置(大约第122行)
SSLCertificateChainFile cert/XXX_chain.crt

重启apache服务使配置文件生效

systemctl restart httpd

PS:此处如果服务重启失败,大概率是因为443端口冲突,解决方法就是找到占用443端口的程序,关闭即可。

 

5.强制http跳转https

完成前4步之后,就可以通过https访问你的域名了,但是如果地址输入的是http://域名,网站还是会以http模式打开,因此还需要设置强制跳转至https。

vi /etc/httpd/conf/httpd.conf

查找关键字“AllowOverride"
将网站根目录这组里的“AllowOverride none”改为“AllowOverride ALL”
添加强制跳转代码,最终修改结果如下:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://你所希望跳转的域名/$1 [R,L]
</Directory>

重启apache服务使配置文件生效

systemctl restart httpd
 

 

某些情况下如果需要重新安装apache服务,使用以下命令操作即可:

systemctl stop httpd.service
yum erase -y httpd.x86_64
yum install -y httpd
systemctl start httpd
systemctl status httpd

 

SSL证书部分,1-4步参考:

https://help.aliyun.com/knowledge_detail/95493.html?spm=5176.13910061.0.0.45eb2be7Cou7zi&aly_as=QsPJBEx7

https://blog.csdn.net/weixin_42255190/article/details/99290039

 

第5步参考:

https://www.jianshu.com/p/402bfbc0bdd1

https://blog.mimvp.com/article/20403.html

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值