2011-04-09 18 views
13

¿Hay alguna manera de ocultar el puerto de la url y usar cname (alias) en lugar de:.es posible usar CNAME (alias) para <host:port>

Por ej. Si mi url es http://myserver.com:40089/webapps/index.jsp es su posible que yo utilizo http://mycname/webapps/index.jsp

razón por la que estoy diciendo es, me puedo mover alrededor de la caja llamada myserver.com decir myserver1.com. No quiero que el cliente siempre cambie esta url cada vez que me muevo. En cambio, mi cliente no debe saber dónde se está ejecutando el servicio y en qué puerto.

¿Es posible? Estoy usando embarcadero como mi servidor web.

Gracias de antemano.

+0

Creo que no puede establecer el puerto. ¿Cuál es problema con el puerto estándar 80? – Nishant

Respuesta

0

sí y no ... sí, puede usar el cname indistintamente (aunque tenga en cuenta que las cookies pueden no acompañarlo dependiendo de su dominio), pero si su servidor se ejecuta en un puerto distinto de 80, Tendrás que incluir el número de puerto en la URL.

+0

¿cómo puedo hacer eso? No estoy usando cookies. Se acaba de utilizar para exponer el servicio web y mostrar una página web simple. – Ajay

+0

todo lo que tiene que hacer es asegurarse de que los enlaces generados por su aplicación (y compartidos por usted) apunten a mycname. si quieres ser más hábil, puedes usar apache y mod_rewrite para redirigir todo el tráfico destinado a myserver.com -> mycname. – stevevls

2

No. CNAME solo asigna nombres, no puertos. Necesita un proxy inverso si desea asignar x: b a c: d.

9

Con DNS CNAME, solo puede señalar de un nombre de host a otro. Los números de puerto son un pastel totalmente diferente.

Hay varios problemas con la situación descrita:

  • si se establece el CNAME en el DNS es probable que tenga que modificar su servidor web así para manejar el nuevo nombre de host porque protocolo HTTP funciona de la siguiente
  • como se dijo @stevevis perderás las cookies y cachés e incluso la clasificación en los motores de búsqueda
  • todavía tiene que incluir el número de puerto en sus direcciones: http://mycname:40080/webapps/index.jsp

No lo ha mencionado, pero supongo que no puede modificar la configuración de su servidor web, porque en este caso también podría modificar el número de puerto.

Pero hay una solución para este problema con pequeños sacrificios.

Puede instalar un servidor HTTP proxy inverso para reenviar las peticiones al servidor web (por ejemplo HAProxy, nginx, etc.), pero con esto se va a perder la dirección IP de los clientes originales (por supuesto, puede reenviarlo en un encabezado HTTP, pero debe modificar el código en su dominio anterior para manejar esto).

4

Intente utilizar un registro SRV para hacerlo. Es lo que solía obtener un dominio personalizado para mi servidor de Minecraft.

Cuestiones relacionadas