포트를 제외한 모든 것을 HTTPS로 다시 쓰는 방법

포트를 제외한 모든 것을 HTTPS로 다시 쓰는 방법

통계를 얻기 위해 웹서버에 Netdata를 설치했습니다. 내가 사용해야 할 것을 보려면 다음을 수행하십시오.http://무엇이든:19999년. 그러나 다음을 사용하여 모든 것이 내 웹 서버의 HTTPS로 리디렉션됩니다.

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

포트 19999로 향하는 모든 것이 HTTP로 이동하도록 하는 우아한 방법이 있습니까? (그리고 계속해서 HTTPS로 리디렉션되지 않습니다..)
RewriteRule 쇼 앞에 몇 가지 조건을 두면 완료될 수 있을 것 같은데요, 그렇죠? 하지만 어떻게? rewriterules에 대한 매뉴얼 페이지는 나를 혼란스럽게 하기 때문에 어떤 도움이라도 환영합니다!

답변1

이 코드를 추가하면 특정 포트를 사용하는 모든 서비스가 HTTPS 대신 HTTP를 사용하도록 리디렉션할 수 있습니다.

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>

관련 정보