Apache服务器之------https功能

简介:

HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 

HTTPS和HTTP的区别
一、https协议需要到服务器具有合法的证书。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证
的网络协议,因此比HTTP协议要安全。

由此可知,要让apache提供https服务,则必须要服务器上具有证书:
但由于申请一个证书,很少有免费的,所以现在我们要自己给自己颁发一个证书:


规划:要求apache提供https访问页面,网页内容存放在/www/phpmyadmin中,但要求使用别名/pma可以访问的到,服务器IP地址为:172.16.4.1

注:网路数据传输加密详解和CA的配置详解详见:
http://grass51.blog.51cto.com/4356355/798505 
http://grass51.blog.51cto.com/4356355/797995 


第一步:将本服务器配置为CA服务器,并为本机web服务签发一个证书:
1)、配置CA服务器:
# /etc.pki/tls/openssl.cnf
定位至dir   = ../../CA          将其相对路径修改为绝对路径/etc/pki/CA,保存退出
#cd ../CA/
# (umask 077;openssl genrsa 2048 > private/cakey.pem)             
为自己生成一个私钥,保存在cakey.pem中
#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3560
为CA服务器提供必要的三个目录和两个文件:
#mkdir certs crl newcerts
#touch index.txt serial    
#echo 01 > serial


2)、为web服务申请一个证书,存放在/etc/httpd/ssl中:
#mkdir /etc/httpd/ssl
#cd /etc/httpd/ssl
#(umask 077;openssl genrsa 1024 > httpd.key)   
            
生成私钥,保存至httpd.key文件中
#openssl req -new -key httpd.key -out httpd.csr
申请一个为签发的证书httpd.csr

3)、签发证书:
切换到存放为签发的证书存放的目录
#cd /etc/httpd/ssl
#openssl ca -in httpd.csr -out httpd.crt


第二步:
1、为apache提供新的网页存放位置:
新建一个分区,并将其挂载至/www下,这里不在给出具体步骤。

2、修改apache的配置文件,修改网页存放目录:
#mkdir /www/htdocs
#vim /etc/httpd/httpd.conf

定位到DocumentRoot “/usr/local/apache/htdocs”处,将其后面的路径修改为“/www/htdocs”
定位到<Directory "/usr/local/apache/htdocs ">处,将其路径修改为“/www/htdocs“
定位到<Directory />处,将Require deny修改为Require all granted实现每个用户都可访问网页。


3、开启httpd-2.4.1的https功能:
编辑httpd的主配置文件
#vim /etc/httpd/httpd.conf
启用以下选项:
Include /etc/httpd/extra/httpd-ssl.conf
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

全部开启后保存退出。


注:在apache-2.4.1以前的版本中开启https功能时,在其主配置文件中只需要开启:Include /etc/httpd/extra/httpd-ssl.conf

4、编辑httpd-ssl.conf文件:
#vim /etc/httpd/extra/httpd-ssl.conf
定位至<VirtualHost _defaults_:443>处,添加内容如下:

 
 
  1. Alias /pma "/www/phpmyadmin" 
  2.   <Directory /www/phpmyadmin> 
  3.        Options none 
  4.        Require all granted 
  5.   </Directory> 

定位至SSLCertificateFile         将其证书存放的路径修为"/etc/httpd/ssl/httpd.crt"
定位至SSLCertificateKeyFile      将其私钥存放路径修改为"
/etc/httpd/ssl/httpd.key"

5、重新启动httpd服务
#service httpd restart
访问https://172.16.4.1/pma 进行测试








本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/818421,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
搜索推荐 安全 网络安全
服务器支持HTTPS的时机和条件
【10月更文挑战第23天】服务器支持HTTPS的时机和条件
20 5
|
3月前
|
数据安全/隐私保护 Docker 容器
配置Harbor支持https功能实战篇
关于如何配置Harbor支持HTTPS功能的详细教程。
130 12
配置Harbor支持https功能实战篇
|
3月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
165 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
4月前
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
53 0
|
4月前
|
监控 Linux 测试技术
|
4月前
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
110 0
|
18天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
36 6
|
22天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。

推荐镜像

更多