Necesito probar subdominios en mi localhost. ¿Cómo puedo tener efectivamente este resultado de agregar *.localhost.com
a mi /etc/hosts/
archivo?
Si no es posible, ¿cómo puedo solucionar este problema? Necesito probar subdominios comodín en mi servidor local. Es un servidor de desarrollo de Django, ¿puede el servidor de desarrollo de Django manejar los subdominios? ¿Puede algún otro software / enrutamiento darme el resultado final que quiero?
Respuestas:
He escrito un proxy dns en Python. Leerá entradas comodín en / etc / hosts. Ver aquí: https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py
fuente
pip install
hacerlo :)Instale dnsmasq (de todos modos hago esto en todos mis escritorios Linux como caché DNS). En
dnsmasq.conf
agregar la línea:fuente
sudo port install dnsmasq
2. editar/opt/local/etc/dnsmasq.conf
3.sudo port load dnsmasq
192.168.50.11
pero DNS no se está resolviendo. ¿Alguna idea, es este ejemplo correcto para IP "no 127.0.0.1"?/etc/NetworkManager/dnsmasq.d/dnsmasq-localhost.conf
y coloque la líneaaddress=/localhost.com/127.0.0.1
en él, luego reinicie.No es posible especificar comodines en el
/etc/hosts
archivo. Especifique los nombres de host requeridos explícitamente o, alternativamente, configure un servidor de nombres local con las reglas apropiadas.fuente
Debe configurar un servidor DNS y hacer que cada cliente lo use para la resolución. El servidor en sí puede ser algo tan "ligero" como dnsmasq o tan pesado como BIND .
fuente
--address=
sección de la página de manual dnsmasq.conf no cubre el caso de uso descrito anteriormente?Flujo de trabajo simple (no es necesario instalar nada)
Personalmente, me gusta crear un archivo PAC para eso y hacer que mi navegador solo lo use.
Paso 1: crea un archivo, por ejemplo: en
*.proxy.pac*
algún lugar (uso mi$home
carpeta)Paso 2: pegue este código (el ejemplo es con el puerto 8000):
Paso 3 : Haz que tu navegador use este archivo PAC.
Video de Youtube para PAC y Firefox
Paso 4 : Ahora puedes probar tu aplicación accediendo a:
http://mysubdomain.localhost/
Paso 5: Disfruta :)
fuente
wget
, no se verán afectados por esto). Eso no es en sí un problema, pero quizás sea mejor mencionarlo.req.url
ahora es una URL absoluta. Esto se hace porque se asume que desea escribir un servidor proxy real, pero es sorprendente si llegó a esta técnica solo como una forma de dejar de agregar entradas / etc / hosts para la depuración. Para su información, para aquellos que podrían seguir el mismo camino que yo hice.He arreglado un viejo proyecto mío:
https://github.com/airtonix/avahi-aliases
requisitos:
Ventajas sobre el uso de dnsmasq o el proxy python dns:
fuente
Esta solución basada en DNS funcionó perfectamente en mi caso, sin necesidad de instalar nada: https://gist.github.com/fedir/04e60d679d5657d1f9f9aa10b3168282 (Mac OSX 10.9)
fuente
No puede usar un comodín en
/etc/hosts
.Eche un vistazo aquí para ver un buen tutorial sobre cómo lograr en OS X usando BIND, el servidor DNS incorporado pero inactivo, y Apache.
fuente
Si desea utilizar
dnsmasq
con elNetworkManager
que se puede (o incluso debe?) Comienzandnsmasq
a partirNetworkManager
añadiendoa
/etc/NetworkManager/NetworkManager.conf
. Entonces la configuración de dnsmasq va a/etc/NetworkManager/dnsmasq.conf
o/etc/NetworkManager/dnsmasq.d/
resp.fuente
Respuesta corta:
Su archivo / etc / hosts / no le permitirá usar comodines o números de puerto. Deberá crear una entrada para cada uno de sus subdominios
fuente
La respuesta corta es que no. La respuesta más larga es que necesita ser más claro sobre lo que desea lograr realmente, porque quizás haya una mejor manera y una forma diferente de lograrlo.
Para el alojamiento web (nunca he visto que se use de otra manera) se realiza en DNS en combinación con un servidor web virtual compatible con el alojamiento. Para obtener más información sobre registros DNS comodín (Wikipedia), y un artículo sobre alojamiento de comodines con Apache y Bind para Linux utilizando bind y Apache.
En el peor de los casos, podría usar un servidor DNS local, supongo.
fuente
Una tarea común para este tema es asignar directorios a subdominios. Una forma muy sencilla de hacerlo es agregar automáticamente las entradas basadas en el directorio al archivo de hosts:
fuente
Gracias tschundeee por lo que considero que es la respuesta definitiva a este problema, ojalá pudiera comentar, pero aquí está la configuración total para aquellos que intentan lograr el objetivo original (comodines que apuntan a la misma base de código: no instalar nada, entorno de desarrollo, es decir , XAMPP)
archivo de hosts (agregar una entrada)
archivo: / etc / hosts (no Windows)
Configuración de httpd.conf (habilitar vhosts)
archivo: /XAMPP/etc/httpd.conf
Configuración de httpd-vhosts.conf
archivo: XAMPP / etc / extra / httpd-vhosts.conf
reiniciar apache
crear archivo pac:
guarde como whatever.pac donde quiera y luego cargue el archivo en la red del navegador> proxy> configuración de configuración automática (vuelva a cargar si lo modifica)
fuente
dnsmasq funcionó para mí, excepto que tuve que hacer algunos pasos adicionales.
Aquí está el procedimiento completo:
Anteponer
/etc/resolv.conf
la siguiente líneaAgregue las siguientes líneas a
/etc/dnsmasq.conf
Reiniciar dnsmasq
fuente