parece ser el lugar para apache así que aquí va :)Apache 2.2 redirección a continuación, SSL * * hacer de autenticación (con solución <¿pero es basura?)
antiguo problema: ¿cómo así que vuelvo a dirigir HTTP-> HTTPS, entonces y solo si HTTPS, ¿realiza una autenticación?
Oh - y me gustaría que la mayor parte en un único fragmento que puede ser Incluir de opinión en múltiples <directorio> o < ubicación > bloques, por lo que vuelve a escribir en base hay un camino al azar nivel de host virtual ...
Bueno, esto es lo que he que parece funcionar:
En la parte superior de un VirtualHost bloquear
# Set ssl_off environment variable
RewriteEngine on
RewriteCond %{HTTPS} =on
RewriteRule^- [E=ssl]
En la ubicación o directorio bloque de
RewriteEngine on
# Case 1 redirect port 80 SSL
RewriteCond %{HTTPS} !=on
RewriteCond %{SERVER_PORT} =80
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [R=301]
AuthType Basic
AuthBasicProvider external
AuthExternal auth_pam
AuthName "My Underpants"
AuthzUnixgroup on
Order Deny,Allow
Deny from all
Allow from env=!ssl
Satisfy any
Require group nice-users
Ventajas
Todo eso bar del Requerir que se puede abstraer en un archivo de fragmento que debe incluir una línea en cada lugar
Fija forzando SSL y autenticación juntas para cada ubicación, por lo tanto, menos posibilidades de errores
Desventajas
¡Maldita sea, no es muy intuitivo! Podría ser frágil por lo que sé ...
¿Hay una mejor manera (no es que yo haya encontrado ...)?
Comentarios sería muy bienvenido de si eso tiene algún defecto grave :)
Aparte La vida sería mucho más fácil si Apache tenía una sintaxis config sensible con un genérico
< Si la expresión > </Si >
bloque que podría utilizarse en cualquier lugar. Tiene ciertos bloques de casos especiales como IfModule, y luego tiene condiciones especiales de casos como RewriteCond (que es muy difícil de asimilar si no estás acostumbrado).
Saludos,
Tim
¿Quiere decir que usted no desea administrar el VH para SSL y una para no SSL? – regilero
Existen soluciones correctas para este problema si puede pasar a Apache 2.4, consulte ... http://stackoverflow.com/a/26155051/762028 – Molomby
Posible duplicado de [Apache .htaccess redirigir a HTTPS antes de solicitar la autenticación de usuario] (https://stackoverflow.com/questions/10267102/apache-htaccess-redirect-to-https-before-asking-for-user-authentication) – LWC