Настройка доменов с подстановочными знаками на локальном хосте (OS X 10.5)?

StackOverflow https://stackoverflow.com/questions/684558

Вопрос

Я начинаю разрабатывать сайт, который по сути действует как WordPress MU, в том смысле, что пользователь может зарегистрироваться и иметь собственный блог.Я буду писать код на Rails, однако надеюсь, что смогу использовать поддомены с подстановочными знаками, поэтому я смогу использовать такой формат, как blog.example.com.Я немного поискал, но не нашел хороших ресурсов.

Поскольку я использую Rails, я не знаю, куда это поместить, поскольку я использую Mongrel, а не Apache.Я могу обойти это на своем локальном компьютере, разработав удаленно на своем сервере, однако я хотел бы оставить это только в крайнем случае.

При необходимости я могу предоставить более подробную информацию о своей среде разработки, но вот основные сведения:

  • Mac OS X Леопард 10.5.6
  • Рубин 1.8.7
  • Рельсы 2.3.2
Это было полезно?

Решение

Строго говоря, это невозможно сделать в файле хостов (по крайней мере, в 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, так что, возможно, это работает...

Единственная альтернатива, которую я знаю, — это настроить полноценный DNS-сервер на вашем компьютере…

Другие советы

Мне не удалось заставить код Ника работать со стандартной установкой localhost:3000, на которой работает Ruby on Rails на Max OSX 10.5.8.Итак, я изменил функцию на следующую.Теперь это позволяет мне перейти к http://локальный хост/ и http://foo.localhost/ (а также игнорирует порт)

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

Интересно - www.localhost работал не так хорошо - Firefox хотел перенаправить на www.localhost.com.Что-то, о чем следует знать.

У меня была такая же проблема, и оказалось, что запустить именованный запуск на OSX довольно легко (он уже предустановлен!) Проверить http://mikeferrier.ca/2011/04/04/setting-up-wildcard-dns-on-localhost-domains-on-osx/ для инструкций.

Это прекрасно работает, лучшее решение для тестирования поддоменов на локальном хосте.сравните с тем, как я использовал рубиновый призрачный камень.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top