在本地主机(OS X 10.5)上设置通配符域?

Posted

技术标签:

【中文标题】在本地主机(OS X 10.5)上设置通配符域?【英文标题】:Setting up wildcard domains on local host (OS X 10.5)? 【发布时间】:2010-10-15 15:14:14 【问题描述】:

我开始开发一个基本上充当 WordPress MU 的网站,从某种意义上说,用户可以注册并拥有自己的博客。我将在 Rails 中对此进行编码,但是我希望能够利用通配符子域,因此我可以使用诸如 blog.example.com 之类的格式。我已经进行了一些搜索,但找不到任何好的资源。

由于我使用的是 Rails,我不确定将其放在哪里,因为我使用的是 Mongrel,而不是 Apache。我可以通过在我的服务器上进行远程开发来绕过在本地计算机上执行此操作,但是我只想将此作为最后的手段。

如果需要,我可以提供有关我的开发环境的更多详细信息,但这里是基本信息:

Mac OS X Leopard 10.5.6 Ruby 1.8.7 Rails 2.3.2

【问题讨论】:

您遇到的问题是什么? 我根本无法设置它。我发现谈论它的指南谈论 /etc/hosts 文件,我在我的计算机上找不到该文件。这可能是因为我刚刚重新格式化并且我没有 MAMP 或任何设置。这只是 Ruby/Rails。我只需要帮助弄清楚如何设置它来工作。 在 Mac OS X 上(如果我没记错的话),您需要在 netinfo 中编辑主机... ...但这真的不是一个编程问题。让我们希望 IT Stack Overflow 早日到来。 我很好奇为什么要删除它?显然,您在这里的会员资格已经很久了,但是我有一个关于我的开发环境的问题,它可以让我按照我想要的方式对我的网站进行编程。还有其他的?像我的没有被删除,标签已经设置,为什么要删除我的? 【参考方案1】:

严格来说,在 hosts 文件中不可能做到这一点(至少在 OS X 上)。可以通过将其配置为使用代理自动配置脚本来模拟 Firefox 的行为。

使用以下 javascript 创建一个文件(我使用 ~/.proxy.pac)

function FindProxyForURL(url, host) 
  if (shExpMatch(host,"*.<YOUR_DOMAIN>")) 
    //alert("proxy local")
    return "PROXY localhost";
  
//alert("proxy direct")
return "DIRECT";

然后在 Firefox > 首选项 > 高级 > 网络 > 设置... > 自动代理配置 URL:

file:///Users/USERNAME/.proxy.pac

从未在 Safari 中尝试过,但它也支持 PAC 文件,所以也许它可以工作......

我知道的唯一其他选择是在您的 PC 上设置一个完整的 DNS 服务器...

【讨论】:

是的!杰出的!多年来,我一直在寻找解决方案! 也适用于 Chrome,我认为就 OSX 上的浏览​​而言它是系统范围的【参考方案2】:

我无法让 Nick 的代码与在 Max OSX 10.5.8 上运行 ruby​​ on rails 的标准 localhost:3000 设置一起工作。因此,我将功能更改为以下内容。这现在允许我去http://localhost/ 和http://foo.localhost/(并且也忽略端口)

function FindProxyForURL(url, host) 
  if (shExpMatch(host, "*localhost")) 
    return "PROXY localhost:3000";
  
  return "DIRECT";

有趣 - www.localhost 运行得不太好 - firefox 想重定向到 www.localhost.com。需要注意的事项。

【讨论】:

【参考方案3】:

我遇到了同样的问题,结果证明在 OSX 上运行命名非常容易(它已经预装了!)请查看 http://mikeferrier.ca/2011/04/04/setting-up-wildcard-dns-on-localhost-domains-on-osx/ 以获取说明。

【讨论】:

另外,要在没有互联网连接的情况下使用它,请在 serverfault 处查看此问题:serverfault.com/questions/22419/…

以上是关于在本地主机(OS X 10.5)上设置通配符域?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Apple OS X 10.5 Leopard上构建和安装GNU wget

OS X Mavericks 上支持 SSL 的虚拟主机

我可以在 OS X 10.5 上使用 dtrace 来确定我的哪个 perl 子程序导致的内存分配最多吗?

Parallels desktop:从 OS X(主机)访问本地 IIS Web 应用程序

如何在 Mac OS X 10.5 中处理从 Finder 中的多个文件拖放?

OS X 10.5 malloc 中的错误?