httpd配置虚拟主机及访问控制

一、虚拟主机是在一台物理服务器上配置多个站点,有三种实现方法:基于ip,基于端口,基于域名

配置虚拟主机建议在单独一个文件,并在主配置文件使用 include "xxx" 包含进来,这样使配置件更清晰

  1. 基于端口:应先在主配置文件中增加一个监听的端口listen 8080

<virtualhost 172.16.168.140:80>

options none

documentroot "/var/www/80"

</virtualhost>

<virtualhost 172.16.168.140:8080>

options none

documentroot "/var/www/8080"

</virtualhost>

2.基于IP:

<virtualhost 172.16.168.150:80>

options none

documentroot "/var/www/ip150"

</virtualhost>

3.基于域名:apatche2.2版本应先在虚拟主机配置文件增加 namevirtualhost 172.16.168.140:80

如果想通过多个域名访问到同一个网站,可以定义多个servername

<virtualhost 172.16.168.140:80>

servername www.a.com

servername www.an.com

options none

documentroot "/var/www/a.com"

</virtualhost>

<virtualhost 172.16.168.140:80>

servername www.b.com

options noe

documentroot "/var/www/b.com"

</virtualhost>

二、配置用户对web资源的访问控制:如果某些资源不想被用户访问,可以通过建立授权让用户访问或根据ip地址进行限制

通过建立授权:

1.使用htpasswd 命令创建用户名和密码文件: htpasswd -c /etc/httpd/conf/htpasswd zzc (注意:当需要创建第二个用户时,去掉-c选项,否则会把第一次创建的用户给清除掉)

<directory "/var/www/secret">

authtype basic

authname "is a sceret..."

authuserfile "/etc/httpd/conf/htpasswd"

require (user abc | valid-user) valid-user指全部用户 user可以指定具体某个用户

</directory>

如果想通过组来管理,需先建立一个组文件:

然后在文件中写上组名和已经(使用htpasswd)创建好的用户:

最后在<directory>中增加下面两条命令:

authgroupfile "/etc/httpd/conf/htgroup"

require group myuser

通过限定ip地址:

<directory "/var/www/secret“>

order deny,allow

deny from 192.168.100.1

</directory>

order指定 先拒绝后允许 或 先允许后拒绝

先拒绝后允许:默认允许,如果不指定拒绝的地址将允许所有地址

先允许后拒绝:默认拒绝,如果不指定允许的地址将拒绝所有地址

地址可以是 主机名、网段(172.16.0.0 可以简写为172.16)、具体某个ip地址

地址之间用逗号隔开

时间: 2024-10-23 21:51:10

httpd配置虚拟主机及访问控制的相关文章

Apache httpd配置虚拟主机的三种方法

基于IP地址的虚拟主机IP地址:172.16.34.3/16:80:172.16.34.30/16:80 linux版本:centos6.7 httpd版本:2.2.15 此实验需关闭SElinux 安装httpd 添加并查看IP地址 在配置/etc/httpd/conf/httpd.conf中有虚拟主机的配置示例: 可在此处添加,也可在/etc/httpd/conf.d/目录下创建虚拟主机文件:为易于管理,建议每一个虚拟主机创建一个配置文件 切换目录至/etc/httpd/conf.d/:新建

httpd服务之虚拟主机、访问控制、https配置详解

前言 上文讲解了http协议及httpd的一些特性,是学习web服务需要掌握的一些基础知识,接下来让我们进一步了解httpd相关功能的配置,本文讲解的是虚拟主机,访问控制及https等功能的配置. httpd之虚拟主机 虚拟主机共分为三种模式:基于IP.基于端口.基于主机名(FQDN) 实验环境介绍 开始之前,先介绍一下httpd在CentOS6.6版本及文件: 版本:      httpd-2.2.15(CentOS7升级为2.4系列) 配置文件:         /etc/httpd/con

Ngingx常用配置(二)虚拟主机,访问控制,认证和状态信息

环境概况: IP地址 服务器状态 简述 192.168.180.4 Nginx服务器 192.168.180.23 client 192.168.171.231 client 具体测试步骤如下: (一)基于虚拟主机的配置.是通过不同的域名来区分提供的web服务器的主机,server_name指令主要用于配置基于域名的虚拟主机 1,首先在192.168.180.23修改/etc/hosts文件 [[email protected] haproxy]# vim /etc/hosts 192.168.

基于httpd-2.4配置虚拟主机web站点,并提供https服务(二)

使用httpd-2.2和httpd-2.4实现 > 1.建立httpd服务,要求: > 1) 提供两个基于名称的虚拟主机www1, www2:要求每个虚拟主机都有单独的错误日志和访问日志: > 2) 通过www1的/server-status提供状态信息,且仅允许172.16.0.1主机访问: > 3) www2不允许192.168.1.0/24网络中任意主机访问: > 2.为上面的第2)个虚拟主机提供https服务. > 基于httpd-2.4配置虚拟主机web站点,

apache配置虚拟主机 个人理解

范例 Listen 80 #NameVirtualHost * <VirtualHost *:8080> ServerName apacheconfig2 DocumentRoot /var/www/apacheconfig/test1 DirectoryIndex index.html #站点的默认访问资源,即不指明请求资源时,默认访问index.html文件 <Directory "/var/www/apacheconfig/test1"> #设置对目录的访

在阿帕奇上配置虚拟主机

Apache配置须知: Listen 80:端口监听,这个地方可以设置监听多个端口,设置方式 Listen 80 Listen 8080 DocumentRoot ‘路径’:网站根目录 ServerName ‘域名:80’:域名 <Directory ‘路径’> DirectoryIndex index.html index.php Options Indexes Order Deny,Allow Allow from all </Directory> 在"httpd.c

转载:mac系统XAMPP配置虚拟主机

安装完xampp后,想添加一个virsualhost,一直报错.查了半天资料,都是乱说,后来看到了一篇国外的文章,终于弄出来了,整理一下. 第一步,配置本地hosts sudo vi /etc/hosts 在后面添加你的域名xxx.com 127.0.0.1   xxx.com 第二步 启用apache的虚拟主机功能 打开配置文件 vi /Applications/XAMPP/xamppfiles/etc/httpd.conf 找到下面这一行,去掉最前面的# #Include /Applicat

windows和mac下分别配置虚拟主机

windows下配置 1.找到apache的配置文件,httpd.conf 2.找到 LoadModule rewrite_module modules/mod_rewrite.so 去掉前边的# 3.找到 Include conf/extra/httpd-vhosts.conf 去掉前边的# 4.找 conf/extra/httpd-vhosts.conf 这个文件 5.加 NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email 

WAMP配置虚拟主机

问题背景:从网上下载了一个PHP项目A,A项目需要部署在网站的根目录下. 配置虚拟主机可以解决这个问题.1.打开Apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts.conf前面的#!! 2.打开Apache的apache/conf/extra下的次配置文件httpd-vhosts.conf 3.在末尾增加<VirtualHost *:80>        DocumentRoot "C:\wamp\www\default