DNS comodín y subdominios dinámicos

En todo mi tiempo libre (¡ja!), He estado trabajando para envolver el Mapa ilimitado de aves silvestres aplicación con una aplicación empresarial que permitirá a las personas diseñar su propio localizador de tiendas. Desarrollar mi propia solución de software como servicio ha sido una de mis metas durante varios años, y esta es una gran oportunidad.

Hay dos características clave listas para usar que quería poner en la aplicación y que se están convirtiendo en un gran desafío, así que quería discutirlas en caso de que alguna vez quieras hacer lo mismo. Ambas funciones son comunes en todas las aplicaciones, pero he descubierto que, aunque son comunes, muchos proveedores de alojamiento no las admiten.

Mi objetivo es crear una aplicación de autoservicio donde el cliente pueda configurar su propio subdominio (http://subdominio.myapplicationdomain.com), o incluso aplicar su propio subdominio (http://subdominio.tudominio.com). Para que sea autoservicio, requiere la capacidad de programar la solución, ¡pero accede a algunos archivos de configuración del servidor de nombres de dominio que están fuera de los límites de la mayoría de las cuentas de hosting! El problema es la compatibilidad con DNS comodín, es decir, poder apuntar cualquier subdominio al dominio del servidor. En otras palabras, test.domain.com o www.domain.com o any.domain.com apuntan al mismo lugar. No importa lo que escriba, funcionará.

Fuera de las aplicaciones, esta es una característica bastante agradable de haber habilitado: incluso en tu blog. Permitiría a cualquiera escribir cualquier cosa.tudominio.com y llevarlos a yourdomain.com. Te sorprendería saber cuántos enlaces malos hay que apuntan a tu blog o sitio web. Eso podría ser tráfico perdido si la persona no reconoce que es un error con el enlace.

El proceso funciona reescribiendo el subdominio en una cadena de consulta antes de que el servidor web represente la página ... por lo que los servidores Apache interpretan subdominio.dominio.com como dominio.com?what=subdomain mediante el uso de un archivo htaccess:

# Extrae la parte del subdominio de domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Verifique que la parte del subdominio no sea www y ftp y mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Redirigir todas las solicitudes a un script php pasando como argumento el subdominio
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Hay información adicional sobre los archivos que necesita editar en V-nessa.net. Tenga en cuenta que es posible que los archivos no se encuentren en el lugar especificado según su proveedor de alojamiento. En realidad, mi proveedor de alojamiento apoya mucho a las personas que se entrometen, pero advierten que hacerlo puede anular la atención al cliente. Además de 'hackear bajo su propio riesgo', tampoco se acercarán para ayudarlo.

Voy a trabajar en el desarrollo del resto de la aplicación en lugar de quedarme atrapado en el desarrollo del subdominio. De hecho voy a dar CakePHP ¡Una oportunidad para usar como marco!

Última nota, soy un poco hábil con estas cosas. Estoy bendecido con equipos de desarrollo en mi trabajo para resolver estas cosas. Por mi cuenta, soy un poco peligrosa. ¡Se agradece cualquier comentario y ayuda!

3 Comentarios

  1. 1

    Muy genial. De hecho, utilicé el servidor de nombres de mi registrador con DNS comodín cuando estaba con SliceHost, y tenía Apache configurado para servir subdominios no configurados desde los archivos de dominios normales.

    Estaba realmente intrigado al mirar el marco de CakePHP, pero su enlace está muerto 🙂

    CakePHP se puede encontrar en http://cakephp.ORG

  2. 3

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.