Как переписать все на HTTPS кроме порта

Как переписать все на HTTPS кроме порта

Я установил Netdata на веб-сервере, чтобы получить статистику. Чтобы увидеть ее, мне нужно использовать:http://что бы ни:19999. Однако на моем веб-сервере все перенаправляется на HTTPS с помощью:

 RewriteEngine On  
 RewriteRule .*   https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]  

Есть ли элегантный способ убедиться, что все, что направлено на порт 19999, будет отправлено на HTTP? (и не будет перенаправлено снова и снова на HTTPS ..)
Я думаю, это можно сделать, поставив какое-то условие перед показом RewriteRule, верно? Но как? Страница руководства по rewriterules просто сбивает меня с толку, так что любая помощь приветствуется!

решение1

Вы можете использовать этот код, чтобы перенаправить все службы, использующие определенный порт, на использование HTTP вместо HTTPS.

RewriteEngine On
RewriteCond %{SERVER_PORT} 19999 
RewriteRule ^(.*)$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Вы также можете использовать этот код для фильтрации других портов:

RewriteCond %{SERVER_PORT} !19999

который запустит следующий код для всех веб-страниц, не использующих порт 19999.

решение2

Попробуйте использоватьПеренаправитьвместо:

<VirtualHost *:80>

    ServerName example.com

    Redirect permanent / https://example.com/

</VirtualHost>

Связанный контент