Solución TLS 1.2 para el componente heredado
Tengo una aplicación de Windows disponible que usa un componente muy antiguo para comunicarse con un servidor de autenticación a través de HTTPS:
http.QuickGetStr("https://www.myserver.com/validate?license=myserial)
Esto devuelve una matriz con los datos de autenticación.
Necesito actualizar Apache a TLS 1.2 ya que el mismo servidor se usa para el lado del comercio electrónico y los navegadores ahora muestran "inseguro" para los servidores que no ejecutan TLS 1.2+
El problema es que el componente utilizado en la aplicación que se comunica con el servidor de autenticación no es compatible con TLS 1.2, por lo que cuando el servidor se actualiza a TLS 1.2, todos los usuarios existentes ya no pueden iniciar sesión porque el componente falla y no funciona. t devolver ningún dato de autenticación. Puedo y ciertamente actualizaré la aplicación con un componente más moderno, pero eso no ayudará a los usuarios heredados que no actualizan.
Necesito encontrar una manera de cambiar el servidor de autenticación a TLS 1.2 sin cerrar el acceso a los usuarios existentes que iniciarán la aplicación y no podrán autenticarse. Una idea es usar una nueva URL de autenticación en las nuevas actualizaciones y, de alguna manera, redirigir las solicitudes de autenticación a través de .htacess y enviar solicitudes TLS 1.0 de una forma y solicitudes TLS 1.2 de otra. Funcionaría eso?
Respuestas
Debería poder resolver esto usando un RewriteCond. ModRewrite debe estar habilitado
NameVirtualHost *:443
SSLStrictSNIVHostCheck on
<VirtualHost *:443>
DocumentRoot /var/www/html
ServerName my.domain.com
SSLProtocol TLSv1 TLSv1.2
RewriteEngine On
RewriteCond %{SSL:SSL_PROTOCOL} ^TLSv1$ RewriteCond %{REQUEST_URI} !^/validate$
RewriteRule .* "-" [F]
<Directory "/var/www/html">
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>