RHEL6.3配置Apache服务器(3) 虚拟目录及基于客户端地址的访问控制

简介:

配置虚拟目录

直接位于站点主目录中的下级子目录称为站点的物理目录,虚拟目录则是在逻辑上属于站点的下级目录,但物理位置并不在站点主目录中。虚拟目录的好处是便于对站点进行维护和扩展,虚拟目录的具体知识可参考之前的博文http://yttitan.blog.51cto.com/70821/1174450

下面我们将目录/movie设置为站点example.com的虚拟目录。
首先创建目录,并在其中生成首页文件:
# mkdir /movie
# echo ‘virtual directory’ > /movie/index.html
然后修改Apache主配置文件:
# vim /etc/httpd/conf/httpd.conf
在虚拟主机的小节中添加如下的内容:

添加虚拟目录的语法格式为:
Alias 虚拟目录 实际路径
保存退出配置文件,重启服务:
# service httpd restart
在客户端访问的时候需要在URL中指定虚拟目录:

需要注意的是,如果Apache服务器中开启了SELinux,那客户端在访问虚拟目录时会提示拒绝访问,在服务器端需要执行setenforce 0命令将SELinux关闭。


基于客户端地址的访问控制

通过对客户端IP地址的限制可以增强服务器的安全性,客户端IP地址限制只能针对服务器上的某个目录进行设置,在对目录进行设置时,需要遵循统一的规范:

如设置站点www.example.com只允许在本机访问。
修改配置文件/etc/httpd/conf/httpd.conf,增加下面的部分:

其中的设置项目的含义:
 

  • <Directory “/var/www/example”>
    表示对站点的主目录进行设置。

  •  Order allow,deny   
    定义控制顺序,先允许后拒绝,最终生效的是deny,也就是拒绝所有客户端访问。

  •  Allow from 192.168.11.61 
    设置允许访问的地址,地址可以是多个,地址之间用空格间隔,如

“Allow from 192.168.11.61 10.12.79.61”。

设置完成后,保存退出。重启httpd服务生效:
# service httpd restart
此时就只有IP为192.168.11.61的主机(也就是本机)能访问这个网站。


 

也可以只针对站点下的某个虚拟目录进行设置,如

这样,整个站点所有客户端都可以访问,而www.example.com/movie则只有192.168.11.61可以访问。


下面再思考一下,如果要拒绝192.168.11.61这台客户端访问站点,该如何设置呢?
“Order allow,deny”表示默认拒绝所有客户端访问,然后再配合使用“Allow from”语句指定允许访问的客户端。如果是要设置拒绝访问的客户端,那么就得反过来,先用“Order deny,allow”允许所有客户端访问,然后再配合使用“deny from”拒绝指定的客户端。



本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1206463

相关文章
|
Java 网络安全 Apache
SshClient应用指南:使用org.apache.sshd库在服务器中执行命令。
总结起来,Apache SSHD库是一个强大的工具,甚至可以用于创建你自己的SSH Server。当你需要在服务器中执行命令时,这无疑是非常有用的。希望这个指南能对你有所帮助,并祝你在使用Apache SSHD库中有一个愉快的旅程!
951 29
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
存储 开发工具 git
[Git] 深入理解 Git 的客户端与服务器角色
Git 的核心设计理念是分布式,每个仓库既可以是客户端也可以是服务器。通过 GitHub 远程仓库和本地仓库的协作,Git 实现了高效的版本管理和代码协作。GitHub 作为远程裸仓库,存储项目的完整版本历史并支持多客户端协作;本地仓库则通过 `.git` 文件夹独立管理版本历史,可在离线状态下进行提交、回滚等操作,并通过 `git pull` 和 `git push` 与远程仓库同步。这种分布式特性使得 Git 在代码协作中具备强大的灵活性和可靠性。
[Git] 深入理解 Git 的客户端与服务器角色
|
人工智能 搜索推荐 程序员
用 Go 语言轻松构建 MCP 客户端与服务器
本文介绍了如何使用 mcp-go 构建一个完整的 MCP 应用,包括服务端和客户端两部分。 - 服务端支持注册工具(Tool)、资源(Resource)和提示词(Prompt),并可通过 stdio 或 sse 模式对外提供服务; - 客户端通过 stdio 连接服务器,支持初始化、列出服务内容、调用远程工具等操作。
2931 5
|
网络协议 开发者 Python
Socket如何实现客户端和服务器间的通信
通过上述示例,展示了如何使用Python的Socket模块实现基本的客户端和服务器间的通信。Socket提供了一种简单且强大的方式来建立和管理网络连接,适用于各种网络编程应用。理解和掌握Socket编程,可以帮助开发者构建高效、稳定的网络应用程序。
695 10
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
2992 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
466 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
1194 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
899 7

推荐镜像

更多