Apache中,同一IP使用多域名对应多个网站的方法

首先dns中确定有相应的A记录,
abc  IN A   211.154.2.5
mail IN A   211.154.2.5

这个讲的是在windows下面配置apache虚拟主机:
一、配置虚拟主机需要3个文件
1.Apache/conf/httpd.conf
2.Apache/conf/extra/httpd-vhosts.conf (这个地版本的apache可能没有,可自己创建,也可以不要此文件,
而将配置直接写在httpd.conf里面,写在extra/httpd-vhosts.conf只是为了管理方便,不让httpd.conf文件
内容很多而已)
3.C:\WINDOWS\system32\drivers\etc\hosts
①httpd.conf 找到VirtualHost example,在后面引入httpd-vhosts.conf文件:
Include conf/extra/httpd-vhosts.conf
这个句话,高版本的apache里面已经写有了,只需吧Include前面的#号去掉就OK
②httpd-vhosts.conf配置文件的内容如下:
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#

#########################################################################################

# http://www.PHPnow.org
# filename: httpd-vhosts.conf

<Directory ../vhosts>
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

NameVirtualHost *

<VirtualHost *>
    DocumentRoot ../htdocs
    ServerName default:80
    ErrorLog logs/default-error_log
</VirtualHost>

#<VirtualHost *>
#    ServerAdmin [email protected]
#    DocumentRoot "D:/htdocs/lxcms"
#    ServerName cms.weixinyixia.com:80
#    ServerAlias cms.weixinyixia.com
#    ErrorLog logs/cms.weixinyixia.com-error_log
#</VirtualHost>

=======================================================以下只是参考其他方式~=======================================================================

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
 DocumentRoot /www/deerol_com
 ServerName www.deerol.com

 # Other directives here
 #配置域名的目录访问权限
 <Directory "/www/deerol_com">
      Options Indexes FollowSymLinks
      allow from all
 </Directory>
</VirtualHost>

<VirtualHost *:80>
 DocumentRoot /www/163_com
 ServerName www.163.com

 # Other directives here
 #配置域名的目录访问权限
 <Directory "/www/deerol_com">
      Options Indexes FollowSymLinks
      allow from all
 </Directory>
</VirtualHost> 

以上设置中第一项(即ServerName www.deerol.com)是默认选项。若用户访问所指定的域名不符合所有条目时采用默认项,即指向www.deerol.com。

在配置时可能遇到的场景:

1.使用域名加端口访问

如果需要带端口访问(这种情况很少,一般会在测试时用到)如:www.domain.com:8081 这时在配置<VirtaulHost> 后,还需要添加对该端口的监听Listen 8081



2.如果服务器上除了Apache服务外还装了IIS(运行asp,asp.net程序),Tomcat(运行java,jsp程序)服务该如何配置?

一般的我们会把Apache默认为80端口,IIS可以设置为81端口,Tomcat设置为8080端口。假设有一jsp程序,在服务器本地配置时我们可以通过http://localhost:8080/document访问。那如何配置通过域名访问到该地址呢?

<VirtualHost *:80>
 ProxyPreserveHost On
 ServerName yourdomain.com
 DirectoryIndex index.jsp
 ProxyPass / http://localhost:8080/KBoom/
 ProxyPassReverse / http://localhost:8080/KBoom/
</VirtualHost>  

这里我们注意到使用了代理访问。首先开启代理支持ProxyPreserveHost On,然后再配置正向代理和反向代理 ProxyPass /  http://localhost:8080/KBoom (kboom为虚拟目录) 

<摘自:http://blog.sina.com.cn/s/blog_75ad10100101m5q6.html&http://blog.csdn.net/zhanglei5415/article/details/6821066>

时间: 2024-10-29 00:21:16

Apache中,同一IP使用多域名对应多个网站的方法的相关文章

apache基本配置管理之:apache基于IP,port和域名三种虚拟主机配置方法

apache配置管理 一.基于端口,即基于不同的端口,相同的IP的虚拟主机      基于相同ip不同port的虚拟主机 1)vi /etc/http/conf/httpd.conf 2)将Listen字段改为 Listen 80 Listen 8888 (以上设置表示使用80以及8888端口) 3)更改虚拟主机部分为: <VirtualHost 192.168.0.1:80> DocumentRoot /var/www/html/website1 ServerName www.website

[转]Apache+Tomcat 同一IP多域名多网站配置

最近帮人用Apache+Tomcat在同一台IP的服务器上设置多域名指向不同网站站点,花费了不少的时间.尤其是配置信息的时候,从网上找的资料有很多是错误的,误认不浅.所以今天特意把它记下来,以备后面使用. 首先说一下我的需求是这样:apache作为前端分发器,把域名解析的内容转发到后台的Tomcat上去,tomcat也只有一个,但拥有2个不同的实例.就是分别是2个不同的网站.不要根据不同域名转向tomcat后台不同的网站上去. 现在开始讲讲配置流程: 1.进入apache的htpd.conf中配

SSL 中证书是否可以使用IP而不是域名

前言:以前听别人说生成证书时可以用IP地址,今天用例子证实了下用IP地址是不行的. 情景一: 生成证书时指定的名称为IP地址 例子是做单点登录时的例子,web.xml中配置如下: <!--该过滤器负责用户的认证工作,必须启用它 --> <filter> <filter-name>CASFilter</filter-name> <filter-class>org.jasig.cas.client.authentication.Authenticat

apache 2.4 配置httpd:添加域名禁止IP访问网站

apache 2.4 配置httpd:添加域名禁止IP访问网站 一般来说,网站可以用域名和IP来访问.你的网站可以通过IP直接访问,本来这没什么问题,但是会有些隐患:由于搜索引擎也会收录你的IP地址的页面,所以同一个页面搜索引擎会重复收录,造成页面的权重不如单个收录高.域名恶意指向的可能:还记得google.com.sb 事件吗?google.com.sb 这个域名被恶意指向了百度,后来证实了 google.com.sb 这个域名为第三者恶意指向的,并不是Google所为.当然这只是个玩笑,但是

在Apache中开启虚拟主机

最近在自学LAMP,在Apache中尝试着开启虚拟主机的时候,遇到了挺多麻烦的,这里也顺便总结一下,在Apache中开启虚拟主机的时候,主要有下面几个步骤: 1.新建一个文件夹作为虚拟主机,用来存储网站资源例如我是在Apache目录下新建了一个 htdocs_v 文件夹,里头新建了一个php文件,内容如下: <?php echo 'this is the first virtual host'; ?> 2.在配置文件中开启虚拟主机:打开Apache/conf/httpd.conf文件,修改如下

LVS集群中的IP负载均衡技术

章文嵩 ([email protected]) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR)的工作原理,以及它们的优缺点. 1.前言在 前面文章中,讲述了可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份).我们先分析实现虚拟网络服务的主要技术,指出 IP负载均衡技术是在负载调度器的实现技术中效率最高的.在已有的IP负载均衡技术

Apache中.htaccess文件的作用和配置

00x01 What's .htaccess      htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置.通过htaccess文件,可以帮我们实现:网页301重定向.自定义404错误页面.改变文件扩展名.允许/阻止特定的用户或者目录的访问.禁止目录列表.配置默认文档等功能. 一般来说,htaccess文件需要放在网站的根目录下才能控制整个站点,并且在Linux系统中,需要把其权限设置为644以提高安全性.国内很多主机提供商都通过一定技术手段禁用了该文件,但是国

apache中虚拟主机的配置

一.两种方式:基于域名的虚拟主机和基于IP地址的的虚拟主机 (这里基于前者) 二.作用:实现在同一个web服务器下,同时运行很多个站点(项目) 三.虚拟主机的配置 1.在核心配置文件中加载虚拟主机配置文件 Apache中,默认的提供了一个专门配置虚拟主机的配置文件  conf/extra/httpd-vhosts.conf,但是Apache在启动的时候只会读取核心配置文件conf/httpd.conf.因此,需要开启它:在httpd.conf中,找到Include  conf/extra/htt

apache禁止使用IP访问的实现方法

apache禁止访问目录列表 apache禁止访问目录列表对于开发人员来说还是蛮实用的,可以迅速查找根目录下的所有项目,但如果一个挂在互联网上的服务器为了提高安全性就必须禁止访问目录列表. 找到Apache 的 httpd.conf 配置文件将: XML/HTML代码 Options Indexes FollowSymLinks 改为:Options FollowSymLinks 也就是把 Indexes 去掉. 额外信息:在apache中设置虚拟主机 在IIS中我们可以方便的通过不同的IP或者