Setting up wildcard domains on local host (OS X 10.5)?

谁说胖子不能爱 提交于 2020-01-22 04:32:20

问题


I am starting to develop a site which basically acts as WordPress MU, in the sense that a user can signup and have their own blog. I will be coding this in Rails, however I am hoping to be able to utilize wildcard subdomains, so I can use the format such as blog.example.com. I've done some searching but I can't find any good resources.

Since I am using Rails, I'm not sure where to put this, as I am using Mongrel, and not Apache. I can bypass doing this on my local machine by developing remotely on my server, however I would only like to keep this as a last resort.

I can give more details about my development environment if needed, but here are the basics:

  • Mac OS X Leopard 10.5.6
  • Ruby 1.8.7
  • Rails 2.3.2

回答1:


Strictly speaking, it's not possible to do that in the hosts file (at least on OS X). It's possible to simulate the behavior with Firefox by configuring it to use a proxy autoconfigure script.

Create a file with the following javascript (I use ~/.proxy.pac)

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

Then in Firefox > Preferences > Advanced > Network > Settings... > Automatic Proxy Configuration URL:

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

Never tried it in Safari, but it supports PAC files also, so perhaps it works...

The only other alternative I know is to set up a full blown DNS server on your PC...




回答2:


I couldn't get Nick's code to work with the standard localhost:3000 setup running ruby on rails on a Max OSX 10.5.8. So, I changed the function to the following. This now allows me to go to http://localhost/ and http://foo.localhost/ (and also ignores the port)

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

Interesting - www.localhost was not working so well - firefox wanted to redirect to www.localhost.com. Something to be aware of.




回答3:


I had this same problem, and it turns out it's pretty easy to get named running on OSX (it's already preinstalled!) Check out http://mikeferrier.ca/2011/04/04/setting-up-wildcard-dns-on-localhost-domains-on-osx/ for instructions.



来源:https://stackoverflow.com/questions/684558/setting-up-wildcard-domains-on-local-host-os-x-10-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!