포트 80, 443을 바인딩하기 위해 루트가 아닌 사용자로 systemd를 통해 서비스를 시작합니다.

포트 80, 443을 바인딩하기 위해 루트가 아닌 사용자로 systemd를 통해 서비스를 시작합니다.

내 우분투 18.04 헤드리스 서버에서 Tomcat을 루트로 실행하고 있습니다. Apache 또는 nginx와 마찬가지로 systemd를 사용하여 루트가 아닌 사용자로 서비스를 시작할 수 있으며 루트만 마스터 프로세스를 시작하여 포트 80 및 443을 바인딩합니다. 따라서 Tomcat에 apache&nginx와 같은 동일한 시작 프로세스를 사용하겠습니다. 사용자 및 그룹을 tomcat(수퍼유저 없음)으로 추가하고 tomcat.service를 생성한 후 구성도 필요합니까 ???

누군가가 나를 도와주면 매우 감사할 것입니다.

검은 수염

답변1

대부분의 서비스는 포트 >1024에서 기본값으로 구성됩니다. 거기에는 여러 가지 이유가 있습니다.

집중하려는 방식은 가능하지만 향후 몇 가지 단계가 필요할 수 있습니다(적어도 변경을 수행하려면 루트 액세스가 필요함)... 하지만 그것이 틀릴 것이라고 말할 수는 없습니다.

대체 솔루션에 대해 반대표를 던지지 마십시오(질문에 대한 직접적인 답변이 아니기 때문에). 기본 >1024 포트에서 서비스를 유지하고 80 및/또는 443에서 연결을 수락하고 조건부(SNI) 또는 무조건적으로 트래픽을 프록시하도록 역방향 프록시(haproxy, nginx, apache http 등 - 익숙한 모든 것)를 설정하는 것은 어떻습니까? 애플리케이션 기본 포트로? 부작용은 호스트의 더 많은 서비스 간에 80/443을 "공유"할 수 있다는 것입니다.

관련 정보