仅使用IP

时间:2017-10-31 09:08:24

标签: apache .htaccess mod-rewrite virtualhost

我在本地设置服务器,我希望能够在不指定域的情况下访问其服务器的站点。如果你需要知道为什么滚动到底部。

我设法通过配置虚拟主机来使用IP服务一个站点:

ServerName 192.168.2.10
DocumentRoot /var/www/site1/public

这很好用,而且我的服务器仍可以通过相应的虚拟主机继续在域中运行所有其他站点的服务。问题是,我不知道如何在不使用域名的情况下通过IP服务超过一个站点。

  • 也许我可以使用不同的端口?
  • 也许我能用.htaccess和mod_rewrite做些什么,我没想到的?

如果有人能在这里列出我的选择,我将不胜感激。感谢您抽出宝贵时间。

为什么我要这样做?
首先,我很好奇是否可以实际完成。具体而言,如上所述,我在本地服务该站点,并且下载该应用程序的客户端只能在实际存在于该本地网络时访问它。即使我可以为每个人配置主机文件,这听起来很乏味,实际上也不可行,特别是因为其中许多都是移动设备,而且这个过程还有很长的路要走。

1 个答案:

答案 0 :(得分:1)

您必须为Apache提供一种区分不同网站的方法。你能做到的方法是:

  1. DNS,域名。这需要设置具有ServerName值的VirtualHost配置以匹配每个域。但是你不想这样,继续阅读。

  2. IP地址。您可以在服务器上拥有多个地址,并让Apache收听每个地址。防爆。听1.1.1.1:80并听取2.2.2.2:80。然后将每个VirtualHost配置为服务一个地址。

  3. 端口。如果只能有一个IP地址,则可以使用端口拆分站点。在这种情况下,你会听1.1.1.1:80和Listen 1.1.1.1:81。然后,当您的客户访问这些网站时,他们会使用http://1.1.1.1:80http://1.1.1.1:81

  4. 其他建议,

    • 在您的计算机上,您需要设置IP,在防火墙上打开地址和端口,根据需要设置路由,...
    • 使用单独的日志文件设置每个VirtualHost,这将有助于大量调试问题。
    • 除非内容相同,否则为DocumentRoot为每个VirtualHost设置一个目录。