Apache基础服务之Web访问控制(身份验证、虚拟目录、虚拟主机)

Apache HTTP server之所以受到众多企业的青睐,得益于其代码开源、跨平台、功能模块化、可灵活定制等诸多优点,其不仅性能稳定,在安全性方面的表现也十分的出色。
接下来我们通过Apache搭建网站来学习一下通过创建虚拟目录登录访问网站,并且设置身份验证来提高访问安全性,还可以通过不同域名即创建虚拟主机访问。

接下来做一下试验,我们深入感受一下:
1.挂载镜像文件,安装http服务 如下图所示:

路径etc/httpd/下的还有一个conf.d 一般情况下建立的一些虚拟目录、虚拟主机,还有基于不同端口号的配置文件都放在conf.d中。

2.进入http主配置文件,开启监听端口,改为本机的IP,注释掉IPV6的监听,还需要定义一下完全合格域名如下图所示:


3.配置文件修改完成之后,启动服务,关闭防火墙,关闭增强×××。如下图所示:

4.接下来在宿主机浏览器上输入服务器IP直接进行访问,就会看到下图的Apache的首页。如下图所示:


我们在此路径目录下写入一句话“this is apache test ”作为欢迎页面,浏览器刷新一下就能看到:

通过命令mv /var/www/html/index.html >/var/www/html/index.txt在这里如果我们将这个首页类型换成系统不识别的类型,那肯定就访问不到了!
如果想访问到也是有办法的 ,我们进入/etc/httpd/conf/httpd.conf修改它的主配置文件就行了,在index.html.var后面继续加一个index.txt就行了。
5.在路径etc/httpd/conf.d下新编辑一个文件vdir.conf 在里边建立虚拟目录(这里新编辑的vdir.conf在主配置文件etc/httpd/conf/httpd.conf是可以被自动识别的,主配置文件有一个Include conf.d/*.conf意思是在相对路径conf.d包含所有以.conf结尾的文件 )


6.根据上面配置文件的要求新建相应的目录,并再次重启一下服务。然后在浏览器上验证虚拟目录访问。如下图所示:


7.刚才是利用创建虚拟目录登录访问,接下来我们开启身份验证进行登录访问。所以需要进入刚才的 vdir.conf进行修改。如下图所示:

8.创建新的用户进行身份验证。如下图所示:


9.以上是身份验证的设置增强了访问的安全性。接下来我们创建两个虚拟主机(实现多个网站)进行访问登录。当虚拟主机较多时,建议使用独立的虚拟主机配置文件。这里有3种形式:1.不同IP 2.相同IP 不同端口 3.相同IP 相同端口 不同主机名。我们先配置一下相同IP 相同端口 不同主机名,如下图所示:
在conf.d下创建并编辑一个新的配置文件:

写入内容:

DNS服务也顺便装好:

修改好相同IP 相同端口 不同主机名的配置文件内容:

10.DNS服务安装好之后修改主配置文件vim /etc/named.conf
修改区域配置文件vim /etc/named.rfc1912.zones

修改区域数据配置文件:




配置修改完后,启动一下DNS服务:service named start 。

10.进行不同主机名访问验证。如下图所示:



11.接下来配置不同端口,进行登录访问。如下图所示:



下来进入http主配置文件添加8080监听端口:

查看监听端口:


试验成功!

原文地址:http://blog.51cto.com/13721050/2156435

时间: 2024-07-28 20:16:39

Apache基础服务之Web访问控制(身份验证、虚拟目录、虚拟主机)的相关文章

IIS服务中五种身份验证

转载:http://os.51cto.com/art/201005/202380.htm 作为微软最经典的Web服务之一的IIS服务有大致上五种Web身份认证方法.身份认证时保障IIS服务安全的根本,所以熟练并且灵活的掌握IIS服务身份认证方法是十分重要的. [51CTO独家特稿]微软IIS服务是一项经典的Web服务,可以为广大用户提供信息发布和资源共享功能.身份认证是保证IIS服务安全的基础机制,IIS支持以下5种 Web 身份认证方法: 推荐专题:IIS服务“讲武堂” 一.匿名身份认证 如果

Web Service身份验证

Web Service是政府,企业,个人提供的在线应用服务,其他公司.软件都能通过Internet来访问并使用服务.针对于有些公司某些数据只允许授权的企业或人使用,所以我们需要进行身份验证 第一种方式:在Web Service引入SoapHeader 1.如下图,我们实现一个用于实现身份验证的类MySoapHeader,定义两个成员变量(UserName和Password),定义函数ValideUser用来检测使用服务的程序的Soap标头的数据是否被授权使用服务 //实现一个用来验证身份的类 p

Web API 身份验证 不记名令牌验证 Bearer Token Authentication

1. Startup.Auth.cs文件 添加属性 public static OAuthBearerAuthenticationOptions OAuthBearerOptions { get; private set; } 添加静态构造函数 /// <summary> /// 构造函数 /// </summary> static Startup() { OAuthBearerOptions = new OAuthBearerAuthenticationOptions(); }

asp.net Web API 身份验证 不记名令牌验证 Bearer Token Authentication 简单实现

1. Startup.Auth.cs文件 添加属性 1 public static OAuthBearerAuthenticationOptions OAuthBearerOptions { get; private set; } 添加静态构造函数 1 2 3 4 5 6 7 /// <summary> /// 构造函数 /// </summary> static Startup() {     OAuthBearerOptions = new OAuthBearerAuthent

基于JWT的web api身份验证及跨域调用实践

随着多终端的出现,越来越多的站点通过web api restful的形式对外提供服务,很多网站也采用了前后端分离模式进行开发,因而在身份验证的方式上可能与传统的基于cookie的Session Id的做法有所不同,除了面临跨域提交cookie的烦人问题外,更重要的是,有些终端可能根本不支持cookie. Json Web Token(jwt)是一种不错的身份验证及授权方案,简单的说就是调用端调用api时,附带上一个由api端颁发的token,以此来验证调用者的授权信息.但由于时间关系,不对jwt

ASP.NET Web API身份验证和授权

英语原文地址:http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api 本文是作者所理解和翻译的内容. 这篇文章包括两部分:身份验证和授权. 身份验证用来确定一个用户的身份.例如,Alice用她的用户名和密码登陆系统,服务器用她的用户名和密码来确定她的身份. 授权是判断一个用户是否允许执行某一操作.例如,Alice有获取资源的许可,但不能创建资源. 身份验证 We

3、Web Api 身份验证

由于接口传递的是企业内部数据,在数据安全性方面需要把控,因此当客户端调用接口时,必须提供身份标识,验证通过之后方可调用接口,以确保数据的安全性.由于WebApi的身份校验是面向切面编程的,即当你需要进行身份校验时,执行逻辑为:Client->Filter身份校验->接口,当校验通过时,即可正常调用 当校验不通过时,将返回401身份验证失败. 一.身份校验 Basic 1.在Api项目下创建Filter文件夹 2.编写验证程序 using System; using System.Net; us

Web项目身份验证设置为Windows时如何将项目部署到IIS进行调试

因为项目有多个解决方案组成,彼此之间存在主子站点问题,如果想要同时调试多个项目,就不能简单的用VS2013的IISExpress进行调试,需要将项目配置成本地IIS进行调试,配置过程一切顺利,如下图 编译也没任何问题,可是项目一运行,直接报403,在登录部分加断点,结果VS根本不进断点,设置成IISExpress却没任何问题,奇了怪了,折腾N小时,无任何进展,幸得过来人帮助,指点迷津,问题才得以解决,特此记录! 其实问题的元凶就在下图:验证方式为windows验证,IIS默认配置开启的是匿名身份

Asp.Net Web Api 身份验证之Form验证

1.原理是使用ActionFilterAttribute对请求进行拦截,对Cookies进行解密.登录则对用户信息进行加密保存在Cookies中. 自定义身份验证特性 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)] public class FormAuthAttribute : ActionFilterAttribute { pu