Я установил 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>