![Cómo reescribir todo en HTTPS excepto el puerto](https://rvso.com/image/1618774/C%C3%B3mo%20reescribir%20todo%20en%20HTTPS%20excepto%20el%20puerto.png)
Instalé Netdata en un servidor web para obtener estadísticas. Para ver esos debo usar:http://lo que sea:19999. Sin embargo, todo se redirige a HTTPS en mi servidor web usando:
RewriteEngine On
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
¿Alguna forma elegante de asegurarse de que todo lo dirigido al puerto 19999 vaya a HTTP? (y no ser redirigido una y otra vez a HTTPS...)
Supongo que se puede hacer teniendo alguna condición antes del programa RewriteRule, ¿verdad? ¿pero cómo? La página de manual de rewriterules simplemente me confunde, ¡así que cualquier ayuda es bienvenida!
Respuesta1
Puede usar agregar este código para redirigir todos los servicios que usan un puerto específico para usar HTTP en lugar de HTTPS.
RewriteEngine On
RewriteCond %{SERVER_PORT} 19999
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
También puedes usar este código para filtrar otros puertos:
RewriteCond %{SERVER_PORT} !19999
que ejecutará el siguiente código para todas las páginas web que no utilicen el puerto 19999.
Respuesta2
Intenta usarRedirigiren cambio:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>