우리 회사는 포트 80에서 수신 대기하는 레거시 프로그램을 사용하고 있습니다. (방화벽) http 포트로 프록시되는 HTTPS 요청을 지원하기 위해 NGINX를 앞에 배치하여 보안 요구 사항을 충족하려고 했습니다.
현재 문제는 레거시 프로그램에도 http 포트 80을 가리키는 하드코딩된 URL이 있다는 것입니다. 이러한 http 요청을 캡처하여 https로 리디렉션하는 포트 80에 리디렉션을 설정하고 싶지만 이전 프로그램이 포트 80에 바인딩되어 있기 때문에 그렇게 할 수 없습니다.
이전 프로그램의 기본 바인딩 포트를 재구성할 수 없습니다. 프로그램이 포트 80을 바인딩하도록 요청할 때 다른 포트에 강제로 바인딩하는 방법이 centos에 있습니까?
저는 Centos 6.9(제가 말했듯이 레거시 시스템)에서 실행 중입니다.
답변1
머신 A에는 포트 80에서 머신 B에 HTTP 요청을 하는 클라이언트 프로그램이 있습니다. 그리고 머신 B에는 포트 80에서 HTTP 요청을 수신하는 서버 프로그램이 있습니다.
A = B이면 클라이언트와 서버 간의 패킷이 네트워크에 도달하지 않기 때문에 HTTPS는 의미가 없습니다. 따라서 유일한 유용한 경우는 A ≠ B입니다.
A에서 HTTP-HTTPS 프록시를 실행하고 B에서 HTTPS-HTTP 프록시를 실행합니다. A의 프록시는 포트 80에서 수신 대기하고 포트 443(또는 원하는 다른 포트)을 통해 B에 요청을 보냅니다. B의 프록시는 포트 443(또는 원하는 포트)에서 요청을 수신하고 로컬 요청을 포트 80으로 보냅니다. 포트 간에 충돌이 없습니다.
A와 B의 인스턴스가 하나만 있는 경우 SSH 터널을 설정하는 작업은 두 개의 프록시를 설정하는 것보다 적습니다.