Мне нужно протестировать субдомены на моем локальном хосте. Как эффективно получить результат добавления *.localhost.com
в мой /etc/hosts/
файл?
Если это невозможно, как мне обойти эту проблему? Мне нужно проверить поддомены подстановочных знаков на моем локальном сервере. Это сервер разработки Django, может ли сервер разработки Django обрабатывать субдомены? Может ли какой-то другой программный продукт / маршрутизация дать мне желаемый конечный результат?
Ответы:
Я написал прокси-сервер DNS в Python. Он будет читать записи с подстановочными знаками в / etc / hosts. Смотрите здесь: https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py
источник
pip install
это сделать :)Установите dnsmasq (в любом случае я делаю это на всех своих рабочих столах в Linux как DNS-кеш). В
dnsmasq.conf
добавьте строку:источник
sudo port install dnsmasq
2. редактировать/opt/local/etc/dnsmasq.conf
3.sudo port load dnsmasq
192.168.50.11
но DNS не разрешается. Любые идеи, этот пример правильный для "не 127.0.0.1" IP?/etc/NetworkManager/dnsmasq.d/dnsmasq-localhost.conf
и вставьте в него строкуaddress=/localhost.com/127.0.0.1
, затем перезапустите.Не возможно указать подстановочные знаки в
/etc/hosts
файле. Либо укажите необходимые имена хостов в явном виде, либо в качестве альтернативы настройте локальный сервер имен с соответствующими правилами.источник
Вам необходимо настроить DNS-сервер, чтобы каждый клиент использовал его для разрешения. Сам сервер может быть чем-то таким «легким», как dnsmasq, или таким же тяжелым, как BIND .
источник
--address=
разделе справочной страницы dnsmasq.conf, не охватывает сценарий использования, описанный выше?Простой рабочий процесс (не нужно ничего устанавливать)
Мне лично нравится создавать PAC-файл для этого и заставлять мой браузер просто использовать его.
Шаг 1: создайте файл, например:
*.proxy.pac*
где-то (я использую свою$home
папку)Шаг 2: вставьте этот код (пример с портом 8000):
Шаг 3 : Заставьте ваш браузер использовать этот файл PAC.
Youtube видео для PAC & Firefox
Шаг 4. Теперь вы можете протестировать свое приложение, открыв:
http://mysubdomain.localhost/
Шаг 5: Наслаждайтесь :)
источник
wget
, не будут затронуты этим). Это само по себе не проблема, но, возможно, лучше упомянуть об этом.req.url
теперь это абсолютный URL. Это сделано потому, что предполагается, что вы хотите написать реальный прокси-сервер, но это удивительно, если вы пришли к этому методу просто как способ прекратить добавлять записи / etc / hosts для отладки. К твоему сведению те, кто может пойти по той же дороге, что и я.Я привел в порядок старый мой проект:
https://github.com/airtonix/avahi-aliases
требования:
Преимущества перед использованием dnsmasq или прокси-сервера python dns:
источник
Это решение на основе DNS отлично работало в моем случае, без необходимости устанавливать что-либо: https://gist.github.com/fedir/04e60d679d5657d1f9f9aa10b3168282 (Mac OSX 10.9)
источник
Вы не можете использовать подстановочный знак в
/etc/hosts
.Посмотрите здесь, чтобы узнать, как добиться успеха в OS X, используя BIND, встроенный, но неактивный DNS-сервер и Apache.
источник
Если вы хотите использовать
dnsmasq
сNetworkManager
вами, вы можете (или даже должны?) Начатьdnsmasq
сNetworkManager
добавленияк
/etc/NetworkManager/NetworkManager.conf
. Затем конфиг dnsmasq переходит к/etc/NetworkManager/dnsmasq.conf
или/etc/NetworkManager/dnsmasq.d/
соотв.источник
Краткий ответ:
Ваш файл / etc / hosts / не позволит вам использовать подстановочные знаки или номера портов. Вам нужно будет создать одну запись для каждого из ваших поддоменов
источник
Короткий ответ - нет. Чем дольше ответ, тем яснее должно быть то, чего вы на самом деле хотите достичь, потому что, возможно, есть или лучший способ, и другой способ его достижения.
Для веб-хостинга (я никогда не видел его использовать иначе) это делается в DNS в сочетании с веб-сервером с поддержкой виртуального хостинга. Для получения дополнительной информации о DNS-записях с подстановочными знаками (Википедия) и статье хостинг с подстановочными знаками с помощью Apache и Bind для Linux с использованием bind и Apache.
В худшем случае вы могли бы использовать локальный DNS-сервер.
источник
Обычной задачей для этой темы является сопоставление каталогов с поддоменами. Очень простой способ для этого - автоматически добавлять записи на основе каталога в файл hosts:
источник
Спасибо tschundeee за то, что я считаю окончательным ответом на этот вопрос, хотелось бы просто прокомментировать, но вот общая конфигурация для тех, кто пытается достичь первоначальной цели (все символы подстановки указывают на одну и ту же кодовую базу - ничего не устанавливать, среда разработки, т.е. XAMPP)
файл hosts (добавить запись)
файл: / etc / hosts (не Windows)
Конфигурация httpd.conf (включить vhosts)
файл: /XAMPP/etc/httpd.conf
Конфигурация httpd-vhosts.conf
файл: XAMPP / etc / extra / httpd-vhosts.conf
перезапустить Apache
создать файл pac:
сохранить как угодно. pac, где вы хотите, а затем загрузить файл в сеть браузера> прокси> настройки авто_конфигурации (перезагрузите, если вы измените это)
источник
У меня работал dnsmasq, за исключением того, что мне пришлось сделать несколько дополнительных шагов.
Вот полная процедура:
Добавьте
/etc/resolv.conf
следующую строкуДобавьте следующие строки в
/etc/dnsmasq.conf
Перезапустите dnsmasq
источник