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的时机和条件
28 5
|
3月前
|
数据安全/隐私保护 Docker 容器
配置Harbor支持https功能实战篇
关于如何配置Harbor支持HTTPS功能的详细教程。
139 12
配置Harbor支持https功能实战篇
|
3月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
170 8
|
4月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
4月前
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
54 0
|
4月前
|
监控 Linux 测试技术
|
4月前
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
115 0
|
弹性计算 Linux Apache
阿里云ECS服务器CentOS7上安装Apache服务
阿里云ECS服务器CentOS7上安装Apache服务 ---------------------------------------------- 使用root登录 1.确保服务器系统处于最新状态 [root@localhost ~]# yum -y update 如果显示以下内容说明已经更新完成 Replaced:   grub2.
9757 0
|
7天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
8天前
|
SQL 弹性计算 安全
阿里云上云优选与飞天加速计划活动区别及购买云服务器后续必做功课参考
对于很多用户来说,购买云服务器通常都是通过阿里云当下的各种活动来购买,这就有必要了解这些活动的区别,同时由于活动内的云服务器购买之后还需要单独购买并挂载数据盘,还需要设置远程密码以及安全组等操作之后才能正常使用云服务器。本文就为大家介绍一下目前比较热门的上云优选与飞天加速计划两个活动的区别,以及通过活动来购买云服务器之后的一些必做功课,确保云服务器可以正常使用,以供参考。

热门文章

最新文章

推荐镜像

更多