¿Sabe Grails algo sobre subdominios (es decir, subdomain.domain.com)? No lo veo discutido en el manual. ¿Es este un problema de servidor de aplicaciones/servidor web? ¿Se puede vincular a controladores de grails, ya sea estática o dinámicamente?Grails and Subdominios
Respuesta
No importa a qué host se accede para una aplicación web java.
Supongamos que tiene varios clientes separados en un host, p. customer1.yourhost.com, customer2.yourhost.com, etc. y todos los clientes tendrán las mismas funcionalidades.
En el caso más sencillo que proponer, a que sólo tiene que utilizar escribir un filtro, que siempre va a poner un poco variable de petición, así:
def filters = { all(controller:'*', action:'*') { before = { if (request.serverName.contains(".")) { def clientName = request.serverName.substring(0, request.serverName.indexOf(".")) request.currentClient = Client.findByClientName(clientName) // e.g. } } } }
A continuación, en cualquier lugar se puede comprobar
request.currentClient
para el subdominio visitada actual .Sin embargo, si se vuelve más complicado, eche un vistazo a algunos plugins multi-tenant para griales.
Si desea tener diferentes funcionalidades para cada subdominio, p. help.yourhost.com y www.yourhost.com, le propondría que escriba aplicaciones independientes de Grails. A continuación, configura un servidor NGINX para redirigir esas solicitudes a la aplicación apropiada que se ejecuta en su servidor de aplicaciones.
El único lugar que conozco de los subdominios que se consideran es para la resolución del inquilino cuando se utiliza el complemento de varios inquilinos. Ver http://tinyurl.com/6tuxwvs.
Ejecutamos algunas aplicaciones de Grails en un solo host usando varios subdominios. En todos los casos usamos Apache para dirigir el servidor Tomcat y usamos mod jk o forward proxy para manejar las aplicaciones a la aplicación diferente de Grails. La mayor parte es bastante sencillo, lo que no hemos descubierto está ejecutando las aplicaciones a nivel de la raíz de los diversos dominios, por ejemplo - http://app1.domain.com en lugar de http://app1.domain.com/app1
Para configurar como contexto raíz, deberá cambiar Config.groovy para usar grails.app.context = "/" –
- 1. Rails Restful Routing and Subdominios
- 2. Spring Security UI and grails 2.0
- 3. code formatter for grails and Groovy?
- 4. Grails and Quartz: valor incorrecto para tipo long
- 5. Uso de Express and Node, cómo mantener una sesión en subdominios/hostheaders
- 6. (OrElse and Or) and (AndAlso and And) - ¿Cuándo usar?
- 7. Creación dinámica de subdominios
- 8. Subdominios y DNS
- 9. Carpincho con subdominios - default_host
- 10. Cookies y subdominios
- 11. AJAX, Subdominios y SSL
- 12. ¿Por qué subdominios ww2?
- 13. Subdominios Symfony dinámicos
- 14. rails 3.2 subdominios y diseño
- 15. Grails IncompatibleClassChangeError
- 16. Grails: Alternativas al Doc Grails?
- 17. creando subdominios en el registro
- 18. subdominios de encaminamiento en Pyramid
- 19. Configuración de subdominios usando htaccess
- 20. galletas valor para varios subdominios
- 21. Probando subdominios en capybara/rspec
- 22. Subdominios dinámicos en asp.net mvc
- 23. Django Test Client y Subdominios
- 24. Subdominios usando Apache Virtual Host
- 25. Google Analytics con múltiples subdominios
- 26. Autenticación de formularios en subdominios
- 27. Crear subdominios en Amazon EC2
- 28. redirección de subdominios en htaccess
- 29. Java Backend and Rails Frontend
- 30. struct and class and inheritance (C++)
Gracias por romper el problema y mostrando varias soluciones. ¿Tiene alguna idea sobre cómo dividir un subdominio para https, de modo que uno tenga secure.mydomain.com en modo SSL? La seguridad del canal Spring-security-core (http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/single.html#17%20Channel%20Security) parece limitada aquí. – Ray
Entonces, ¿tiene www.midominio.com y quiere cambiar a secure.midominio.com, cuando el usuario inicia sesión? Veo el mayor problema con poner la cookie para el diferente host secure.mydomain.com. Sin embargo, aunque no lo he intentado, basta con configurar la seguridad de primavera para redirigir a una URL absoluta estableciendo 'grails.plugins.successHandler.defaultTargetUrl' en el valor correcto. – Chris
Mi necesidad actual es hacer que el sitio sea seguro solo durante el pago del producto/servicio, donde proceso las tarjetas de crédito. Una vez hecho el procesamiento, regrese a una URL que no sea SSL. La forma en que el sitio está diseñado actualmente, el usuario está iniciando sesión con su carrito, solo para ver qué descuentos obtiene. A partir de ahí, voy a SSL después de que haga un check out con su carrito, y luego cuando el proceso de visa/mc es recogido/hecho, regrese a no SSL. – Ray