Apache HTTP Server通过MAC地址绑定

我的机器上有两个以太网端口,都通过DHCP接收IP地址。

我想运行在本机上的两个Web服务器。 从技术上讲,我想在一个地址/端口组合上运行Apache,而在另一个以太网端口上监听端口80上的Node.js。

我发现所有的Apache文档都提到了使用Listen指令来指定Apache应该监听哪个地址/端口。 唯一的问题是我的IP地址是dynamic的,每当我的IP改变时,我都不想麻烦改变configuration。

反正告诉Apache绑定到一个特定的MAC地址?

我敢肯定,答案是否定的,考虑到套接字绑定函数似乎需要一个IP地址,除非它足够聪明,采取一个MAC或端口名称,并查找关联的IP。

服务器并不意味着在dynamicIP上运行。 我不相信你可以让Apache来监听MAC地址,但我可以提出两个可能的解决方法:

  1. 有两个Web服务运行在不同的端口,而不是不同的IP – 简单
  2. 破解Apache启动脚本,以便它检测到两个卡上的IP地址,然后在实际启动服务器之前编辑configuration文件 – MESSY HACK

TCP / IP是在OSI第3层和第4层上的东西。而MAC地址在OSI-Layer 2上。

绑定套接字只能在TCP / IP级别上工作,并且不能访问第2层。因此,你所要做的不可能像你想要的那样。

你可以通过为你的MAC指定静态的DHCP租约来解决这个问题,这样MAC就会从DHCP池中获得一个固定的IP地址。