권한 있는 포트에서 Tomcat 실행
리버스 프록시
리버스 프록시 또는 HAProxy와 같은 로드 밸런서를 프록시 포트 443에서 8443으로 구성할 수 있습니다.
sudo yum install haproxy
및 Debian 파생 배포판에 sudo apt install haproxy
)를 설치합니다. HAProxy를 시작하고 부팅 시 다시 시작하도록 구성합니다.
$ sudo systemctl start haproxy
$ sudo systemctl enable haproxy
수정
/etc/haproxy/haproxy.cfg
및 추가:# Enable Access on 443 (SSL Passthrough)
frontend tomcat-proxy
mode tcp
bind :443
timeout client 5s
default_backend tomcat
backend tomcat
mode tcp
timeout connect 5s
timeout server 5s
server tomcat server.example.com:8443
server.xml
을 수정하고 proxyPort=443
에 <Connector>
를 추가합니다. proxyPort
속성은 Tomcat이 프록시 서버 뒤에서 실행될 때 사용됩니다. 이 속성은 request.getServerPort()
메서드를 호출하는 웹 응용 프로그램에 반환되는 값을 수정합니다. 이 메서드는 리디렉션을 위한 절대 URL을 구성하는 데 자주 사용됩니다. 이 속성을 구성하지 않으면 반환된 값은 클라이언트가 원래 요청을 보낸 포트가 아니라 프록시 서버에서 연결을 수신한 포트를 반영합니다. 자세한 내용은 Tomcat 설명서의 Proxy Support을 참조하십시오. 인증 바인드
authbind 유틸리티를 사용하면 권한 있는 포트에 액세스하기 위해 일반적으로 수퍼유저 권한이 필요한 프로그램을 권한 없는 사용자로 실행할 수 있습니다. 이를 통해 시스템 관리자는 특정 사용자 및 그룹 액세스를 허용하여 1024 미만의 TCP 및 UDP 포트에 바인딩할 수 있습니다.
sudo apt install authbind
로 이 작업을 수행할 수 있습니다. Red Hat 파생 배포판의 리포지토리에서는 사용할 수 없지만 사용 가능한 pre-rolled RPM이 있습니다. 다운로드하여 sudo yum *.rpm
로 설치합니다. 권한이 없는 사용자에게 포트 443에 액세스할 수 있는 권한을 부여합니다. 배포판의 리포지토리에서 Tomcat을 설치한 경우 Tomcat 사용자가 실행할 수 있습니다.
$ sudo touch /etc/authbind/byport/443
$ sudo chmod 500 /etc/authbind/byport/443
$ sudo chown tomcat /etc/authbind/byport/443
server.xml
을 수정하고 포트 443을 수신하도록 Tomcat을 구성합니다. Tomcat을 시작하는 명령 앞에
/usr/bin/authbind --deep
를 붙입니다. systemd를 사용하여 Tomcat을 시작하는 경우 ExecStart
는 다음과 같이 표시됩니다.ExecStart=/usr/bin/authbind --deep /opt/apache-tomcat-8.5.30/bin/startup.sh
일반적으로 authbind는 직접 호출하는 프로그램만
bind
의 특수 버전에 의해 영향을 받도록 조정합니다. --deep
를 지정하면 해당 프로그램이 직접 또는 간접적으로 호출하는 모든 프로그램이 authbind에 의해 설정된 환경 변수를 설정 해제하지 않는 한 영향을 받습니다.JSVC
Jsvc는 Java 응용 프로그램을 Unix에서 보다 쉽게 실행할 수 있도록 하는 라이브러리 및 응용 프로그램 집합입니다. documentation에 따르면 "Jsvc는 응용 프로그램(예: Tomcat)이 일부 권한이 있는 작업을 루트로 수행한 다음(예: 포트 < 1024에 바인드) ID를 권한이 없는 사용자로 전환하도록 허용합니다."나는 그것을 시도했지만 결코 작동시킬 수 없었고 온라인 설명서와 예제가 드문 것 같아서 포기했습니다.
Reference
이 문제에 관하여(권한 있는 포트에서 Tomcat 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/goober99/running-tomcat-on-privileged-ports-j8n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)