특정 포트에서 실행되는 서비스는 모든 웹사이트에서 작동합니다... 이를 비활성화하는 방법은 무엇입니까?

특정 포트에서 실행되는 서비스는 모든 웹사이트에서 작동합니다... 이를 비활성화하는 방법은 무엇입니까?

그래서 저는 VPS에서 여러 웹페이지를 실행하고 있으며 Apache의 가상 호스트를 활용하여 내 사이트로 향하는 모든 사람이 적절한 사이트로 전송되도록 합니다. 불행하게도 Jenkins 인스턴스를 설정한 후 알아차린 점은 다른 가상 호스트에서 내 VPS를 가리키는 이러한 도메인 중 하나로 이동하여 Jenkins 서버에 도달하기 위해 여기에 :8080을 추가할 수 있다는 것입니다. 이를 방지하고 ip:port를 통해서만 Jenkins 서버에 액세스할 수 있도록 허용하는 방법을 찾고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다!

추가 질문으로, ip:80에 연결하려는 시도도 중단할 수 있는 방법이 있습니까? 감사해요.

답변1

이러한 도메인 [...] 중 하나로 이동하여 :8080해당 도메인에 추가하여 Jenkins 서버에 연결할 수 있습니다. 이를 방지하고 .NET을 통해서만 Jenkins 서버에 액세스할 수 있도록 허용하는 방법을 찾고 싶습니다 ip:port.

주석에서 언급된 첫 번째 단계는 공개 액세스를 차단하는 것입니다 your_ip:8080(Jenkins는 이 포트에서 여전히 내부적으로 실행될 수 있습니다). 이를 수행하는 방법은 VPS에 따라 달라질 수 있습니다(단, iptables 또는 방화벽 인터페이스가 시작하기에 좋은 위치일 수 있음).

:XX두 번째 단계는 포트 a 에 대한 "기본" Apache 가상 호스트를 만드는 것입니다 .역방향 프록시(아파치를 사용하여mod_proxy모듈) 프록시 대상을 포트에서 작동하는 Jenkins에 대한 (로컬) 참조로 설정합니다 :8080. 이 역방향 프록시는 공개적으로 차단되더라도 Jenkins에 대한 액세스를 허용합니다. 당신은 아마도 다음 사항에 특히 관심이 있을 것입니다.Apache 뒤에서 Jenkins 실행에 대한 공식 Jenkins 위키 노트.

노트

  • 역방향 프록시를 지정된 포트의 "기본" 호스트로 설정하려는 이유는 Apache 및 이름 기반 가상 호스트를 사용하면 :XXIP가 연결될 때 이 "기본" 호스트(일반적으로 포트가 있는 첫 번째 가상 호스트)가 반환되기 때문입니다. 요청했습니다.

  • 역방향 프록시의 포트는 가상 호스트 항목에 의해 정의됩니다. 그러나 Apache와 Jenkins가 동일한 서버에서 작동하는 경우 이 포트는 Jenkins가 작동하는 포트와 동일할 수 없습니다(예: :8080).

  • Apache 구성에 Listen포트에 대한 적절한 지시문을 추가하는 것을 잊지 마십시오 .:XX

  • 포트(SSL)를 사용하는 경우 :443해당 포트에 대한 인증서에는 IP가 유효한 이름으로 포함되어야 합니다. 그렇지 않으면 인증서 경고를 받게 될 가능성이 높습니다.


명확하게 말하면 포트 :XX는 예시/자리 표시자일 뿐이며 선택한 포트를 의미합니다.


연결 시도 ip:80도 중단할 수 있는 방법이 있나요?

.Listen:80​그러나 이렇게 하면 귀하의 사이트에 대한 모든 일반 포트 :80HTTP 액세스가 중단됩니다(즉, 사용자가 https://브라우저에 명시적으로 입력하지 않거나 명시적인 https://링크를 사용하여 방문하는 경우 연결할 수 없습니다).

절충안으로 위와 동일한 기술(포트의 "기본" 호스트 사용 :80)을 사용하여 (프록시 대신) 요청을 기본 사이트나 다른 곳(예: https://www.google.com)으로 리디렉션할 수 있습니다.

관련 정보