Apache IP和端口的绑定
来源:互联网 发布:智利矿难知乎 编辑:程序博客网 时间:2024/05/16 14:37
在Linux下,/etc/httpd/conf/httpd.conf是apache的配置文件。这里面可以对很多选项进行配置,下面的内容摘自金步国翻译的apache文档,描述如何配置http Server对IP和端口的绑定。
地址和端口的绑定(Binding)
配置Apache监听指定的地址和端口。
概述
相关模块
相关指令
- core
- mpm_common
- <VirtualHost>
- Listen
Apache启动时,会绑定本机上的地址和端口,然后等待请求的进入。默认情况下,它会监听本机的所有地址。但是,当需要监听特定的地址或端口或地址与端口的组合,或者需要对不同的IP地址、主机名、端口作出不同的响应(如使用虚拟主机)时,就必须明确指定。
Listen指令告诉服务器接只受来自特定端口(或地址+端口的组合)的请求。如果Listen指令仅指定了端口,则服务器会监听所有的IP地址;如果指定了地址+端口的组合,则服务器只监听来自此特定地址上特定端口的请求。使用多个Listen指令,可以指定在多个地址和端口上进行监听。
例如:使服务器同时接受来自端口80和8000的请求,可以这样写:
Listen 80
Listen 8000
接受来自两个指定的地址+端口的组合:
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
IPv6地址必须用方括号括起来:
Listen [2001:db8::a00:20ff:fea7:ccea]:80
针对IPv6的特殊考虑
有越来越多的平台开始支持IPv6 ,而APR在大多数平台上也支持IPv6 ,使Apache能够获得IPv6套接字,并处理通过IPv6发送的请求。
一 个经常令Apache管理员疑惑的问题是IPv6的套接字能否同时处理IPv4和IPv6的连接。IPv6套接字在处理IPv4连接时使用的是将IPv6 映射到IPv4的地址(IPv4-mapped IPv6 addresses),这样做在大多数平台上默认是允许的,而在FreeBSD、NetBSD、OpenBSD上,为了配合其系统全局策略,默认却是禁止 的。即使在这些默认禁止的平台上,Apache也可以通过特殊的编译选项来改变这种行为。
另一方面,在某些平台上(如Linux和Tru64)同时处理IPv6和IPv4的唯一方法就是使用映射地址(mapped addresses)。如果你希望Apache以最少的套接字同时处理IPv4和IPv6的连接,就必须使用映射到IPv4的IPv6地址,也就是必须指定 --enable-v4-mapped 编译选项。
在除FreeBSD、NetBSD、OpenBSD以外的其他平台上,--enable-v4-mapped 是编译时的默认值。因此你正在使用的Apache很可能就是按照这种方式编译的。
要使Apache仅仅只处理IPv4连接,无论你的平台是什么或者APR是否支持,只须对所有Listen指令都指定IPv4地址即可,如下所示:
Listen
Listen 192.170.2.1:80
如果你的平台支持从IPv6到IPv4的地址映射,但是你又希望Apache使用不同的套接字分别处理IPv4和IPv6的连接(也就是禁用地址映射),必须明确指定 --disable-v4-mapped 编译选项。注意:--disable-v4-mapped 在FreeBSD、NetBSD、OpenBSD上是默认值。
怎样与虚拟主机协同工作
Listen指令并不实现虚拟主机,它只是告诉主服务器(main server)去监听哪些地址和端口。如果没有<VirtualHost>指令,服务器将对所有请求一视同仁;但是如果有<VirtualHost>指令,则服务器会对不同的地址和端口作出不同的响应。要实现虚拟主机,首先必须告诉服务器需要监听哪些地址和端口,然后为每个特定的地址和端口建立一个<VirtualHost>段来执行特定的相应。注意,如果将<VirtualHost>段设置为服务器没有监听的地址和端口,则此段无效。
- Apache IP和端口的绑定
- apache 同一个IP:端口,绑定多个域名的注意事项
- Apache 同一个IP:端口,绑定多个域名的注意事项
- CISCO交换机上实现MAC和端口、IP和端口、IP和MAC的绑定
- Apache服务器中如何使用listen指令绑定ip地址和端口
- apache学习五基于端口和ip的虚拟主机
- RMI IP绑定和端口固定
- 关于主机多IP和服务端口绑定IP的研究
- python: tcp/ip学习、端口号、UDP的发送和接受数据、绑定端口号、模拟聊天室
- 通过ACL实现交换机端口和ip地址绑定
- 为什么客户端不需要绑定IP地址和端口号
- ip和端口的解释
- RHEL的Apache配置(基于ip&端口&域名的虚拟主机和认证)
- 使用两个IP实现IIS和Apache公用80端口的方法
- IP与交换机端口绑定
- 关于绑定IP地址与端口号的见解
- 关于绑定IP地址与端口号的见解
- 关于绑定IP地址与端口号的见解
- 正在看简明python教程,开始学习python的第一步
- 通过URL下载网页,并且转化为UTF8的文本格式。
- 关于非接触IC卡对话硬件工程师 2
- 嵌入式Linux内核移植相关代码分析
- 西班牙:抓获互联网活跃黑客
- Apache IP和端口的绑定
- 如何把IE浏览器快速变成灰色来哀悼在汶川地震中遇难的同胞们!
- Windows 7 发布日期之计算法
- VS2005中使用C#的新特性:可空类型
- LibFetion v0.2.0版发布
- 传统javascript事件模型实现观察者模式
- ACCESS 数据库连接也可以有用带参数年的SQL语句
- Daily 10:06
- Asp.net 中CheckBoxList 的应用