Estoy intentando ejecutar diferentes servidores en diferentes .local
dominios en mi RPi. Este es mi nginx default.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name raspberrypi.local;
}
/etc/hosts
archivo -
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 raspberrypi
Ahora usando avahi-publish
le puse un alias a otro dominio
avahi-publish -a -R foo.local 192.168.68.120
Pero cuando accedo a este dominio, también muestra el html predeterminado de nginx, que no quiero. Entiendo que todavía no he configurado ningún otro servidor que se ejecute en ese dominio, pero espero que no pueda conectarse o que sea inalcanzable.
Si eso no es posible, ¿hay alguna manera de tener varios .local
nombres de dominio que no sean alias?
Respuesta1
Pero cuando accedo a este dominio, también muestra el html predeterminado de nginx, que no quiero. Entiendo que todavía no he configurado ningún otro servidor que se ejecute en ese dominio, pero espero que no pueda conectarse o que sea inalcanzable.
No obtendrá el mensaje "no se puede conectar" porque configuró Nginx para escuchartododirecciones para este servidor – eso es lo que listen *:80
significa aquí; si está escuchando en 0.0.0.0
aka *
, aceptará conexiones realizadas a cualquier dirección IPv4 local. ( [::]
Hace lo mismo para IPv6).
(La server_name
opción no influye en esto; todo lo que hace es seleccionar el bloque server{} correcto según el encabezado HTTP 'Host' en la solicitud recibida.despuésla conexión ha sido establecida. En otras palabras, implementa hosts virtuales basados en nombres, en lugar de basados en IP).
Si desea que los hosts virtuales estén basados en IP, cambie los bloques de su servidor{} para escuchar en direcciones IP específicas en lugar de la dirección comodín:
server {
listen 192.168.68.xxx:80;
}
Tenga en cuenta que esto fallará si Nginx se inicia antes de que se haya asignado la dirección a una interfaz. (Esto podría evitarse usandoIP_FREEBINDpero parece que Nginx aún no lo admite).