是否有可能在不依赖 DNS 记录的情况下从 Web 服务器引诱网站?Windows IIS WebServer 使用标头,Linux 使用虚拟服务器名称等。
想象一下这种情况:
- 服务器 (linux + apache) 可通过其自己的 IP (123.45.67.89) 从互联网直接访问。默认页面如下:“它正在运行!”
- 在Apache(httpd)中设置虚拟服务器如下:服务器名称:www.site.net,监听任何地址的默认端口。
- 我没有像这样的 DNS 记录:www.stie.net - M -> 123.45.67.89
- 我没有设置自己的 DNS 服务器并且不想在不同的端口上路由站点。
我如何仅通过 IP 地址和已知托管站点名称来访问存储的网站?
答案1
编辑本地主机文件。
在 Linux 中它处于:
/etc/hosts
对于 Windows 来说应该是
%SystemRoot%\system32\drivers\etc\
检查参考维基百科页面来查找您的。
这将作为您的开发工作站的本地 DNS,当您想要注释某行时,请在行前添加 #(当 DNS 处于活动状态时)。
编辑:当然,你可以为同一个 IP 设置多个名称,例如:
192.168.0.1 foo.bar.com foobar.nenet.com
或者这样:
192.168.0.1 foo.bar.com
192.168.0.1 foobar.nenet.com
答案2
答案3
我建议不要更改 /etc/hosts 或设置本地 DNS 服务器。否则
您将遇到缓存问题、忘记禁用它等。使用 curl:
curl -H"主机:www.site.net"http://123.45.67.89
或者,如果您想查看呈现的内容,请使用 Firefox 插件(http://livehttpheaders.mozdev.org/)。Livehttpheaders
允许您更改任何标头并“重播”它们。
更改 Host 标头,它会执行您想要的操作。
答案4
据我了解,您想在浏览器中输入 IP 地址并访问在那里运行的 Web 服务器(例如http://123.123.123.123/
)。
如果是这样——是的,您可以这样做,但显然每个 IP:端口组合只有一个站点。
我无法真正告诉你如何在 Apache 上做到这一点(没有太多配置经验),但是Microsoft IIS 7.x可以这样做:
1) 选择站点条目并出现“站点绑定”对话框。
2)类型、IP 地址和端口号——选择所需设置;主机名——留着空白
3) 保存设置并尝试结果。如果不行,那么你一定是做错了什么(或者这种绑定已经存在)。
Microsoft IIS 6 可以以类似的方式进行配置——只是要按的路径/按钮不同。