54 votos

Cómo utilizar DNS/nombres de host o de Otras maneras para resolver un determinado IP:Puerto

Este es un Canónica Pregunta acerca de DNS de resolución de nombres de host a direcciones ip/Puertos

Ejemplo 1

Estoy corriendo un servidor web en el puerto 80 y otro en el puerto de 87. Me gustaría usar el DNS para que www.example.com va a puerto 87. ¿Cómo puedo hacer esto usando DNS?

Ejemplo 2

Estoy corriendo un servicio en mi servidor en un puerto no estándar. ¿Cómo puedo conseguir clientes para conectarse a este puerto no estándar de forma automática? Puedo utilizar DNS? ¿Hay alguna aplicación específica de apoyo donde DNS podría indicar la IP y el Puerto?

Ejemplo 3

Hacer algunos protocolos de aplicaciones, específicamente el apoyo de nombre de host de la conciencia, y permitir especial de las acciones a ser tomadas sobre la base de esta información? Hay otras cuestiones sobre las Fallas de Servidor que cubren algunos de estos?

Commandeering: Esta pregunta fue originalmente preguntando sobre el que se ejecuta IIS y Apache en el mismo servidor, pero los mismos conceptos pueden aplicarse a cualquier software de servidor que recibe conexiones de los clientes. Las Respuestas que aparecen a continuación describen los problemas técnicos y soluciones de uso de DNS y la aplicación del protocolo de apoyo para asignar un número de puerto para que un cliente se conecte.

36voto

katit Puntos 130

Usted puede utilizar el DNS para que apunte a un puerto (a menos que el cliente admite registros SRV, la mayoría no).

Los sitios web y los Protocolos con los Encabezados de Host

Usted tendrá que poner algo de front-end método en lugar de hacer esto. Normalmente, se utiliza un servidor web o servidor dedicado de software de proxy para redirigir la conexión desde el puerto 80 al puerto !80 basado en el nombre del servidor que se solicita en el encabezado. Algunos servidores de seguridad pueden también hacia adelante basado en el encabezado de host.

Registros SRV

Algunos de los clientes de soporte de búsquedas de registros SRV que indicar el nombre de host y número de puerto de servidor para el servicio especificado (es decir, el usuario especifica "example.com" el cliente espera de un registro SRV y consigue "server101.example.com" en el puerto "255"; a continuación, se conecta a eso). Algunos clientes también implementar esta donde no es necesario (mi último smartphone sería de búsqueda de los registros SRV al configurar una nueva cuenta de correo electrónico por ejemplo).

Lamentablemente el soporte para los registros SRV es muy infrecuente. Sólo un par de notables protocolos de mandato es de apoyo (Jabber/XMPP, Kerberos, LDAP, SIP) y no todos los clientes lo admite incluso cuando el mandato.

15voto

Rikalous Puntos 2996

Cuando se escriba http://www.domain.com en el navegador, se entiende que el puerto HTTP es 80. Por lo tanto, no hay ninguna forma directa a punto de www.domain.com a puerto 87 si usted ya tiene un servicio que se ejecuta en el puerto que en IIS.

Dicho esto, hay un par de "soluciones".

  • Sólo uso http://www.domain.com:87/ - este se conecta al puerto 87 (apache) en el servidor.
  • Puede configurar una redirección, de modo que http://www.domain.com/apache va hacia adelante (o proxy, si usted desea obtener de fantasía) www.domain.com:87.
  • Puede configurar un "VirtualHost", de modo que www.domain2.com todavía estará en el puerto 80, compartido con www.domain.com. No se puede configurar esto sin modificar IIS.

Sam está a la derecha, el DNS es agnóstico cuando se trata de los puertos. Cualquier tipo de redirección de puerto pasa por el servicio que se está ejecutando en ese puerto. Por lo tanto, se necesita hacer algo con IIS para que esto suceda, si usted no tiene ninguna opción pero para dejarlo en el puerto 80.

También he recibido alrededor de su situación mediante el uso de mod_proxy en Apache, no se si hay una manera de hacer esto con el IIS.

12voto

Phil Puntos 2153

Me temo que los nombres de dominio sólo puede estar asociado con una dirección IP y no un puerto.

La mayoría de los por ejemplo, los servidores web (Apache, IIS, etc.) permiten tener dos dominios hospedados con la misma dirección IP utilizando el hecho de que las solicitudes web contienen un encabezado de host de campo que identifica el dominio en la propia solicitud.

Si usted dice lo que el servidor web es que usted está utilizando estoy seguro de que la gente puede señalar que la documentación pertinente para configurar su servidor como usted desea

12voto

JonnyJD Puntos 251

Técnicamente, usted puede utilizar los registros SRV en los servidores DNS definidos en el RFC 2782 a decir de los navegadores que los servidores de manejar http en qué puertos de un (sub)dominio:

_http._tcp.www.example.com.  IN      SRV 0    5      80   www.example.com.
_http._tcp.www2.example.com. IN      SRV 0    5      87   www.example.com.

Esto funciona bien para muchos protocolos/servicios, especialmente donde el uso de registros SRV ya está definido en la especificación del protocolo.

Sin embargo, como este "Salón de la Vergüenza" de los estados, la mayoría de los navegadores web/clientes no admiten este (por HTTP). También ver por qué-hacer-navegadores-no-usar-srv-registros.

El acuerdo es, básicamente, que el SERVIDOR no está incluido en el protocolo http, como una necesidad para cada navegador implementa resuelve las direcciones Url de forma diferente que los navegadores que no.

Tan sólo debe utilizar esto como algunos opcional de equilibrio de carga, donde no es relevante que el servidor se eligió en términos de contenido. "Opcional", ya que no se mucho equilibrio de la carga si sólo algunos de los clientes implementar esto.

6voto

Mat Puntos 2512

DNS no tiene la capacidad para redirigir a un Puerto específico, todos los DNS que le interesa es la resolución de la dirección IP de un nombre, y viceversa.

Algunos servicios, tales como IP Dinámica DNS de los proveedores, tales como NO-IP y de proporcionar un servicio que puede ayudar a hacer algo similar a sortear el bloqueo de IP en el hogar servicios de DNS.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: