SSL 오프로드를 수행하고 트래픽을 포트 443에서 8080으로 리디렉션하는 이름의 로드 밸런서가 있는 서버가 http://example.com
앞에 있습니다 .https://example.net
http://example.com
서버는 example.com
가상 네트워크에 격리되어 있으며 인터넷에서 연결할 수 없습니다. 로드 밸런서는 example.net
인터넷에 접속할 수 example.com
있고 인터넷에 공개적으로 노출됩니다.
http://example.com/manager
에서만 연결할 수 있고 에서 연결할 수 없도록 Apache Tomcat 8 관리자 웹 인터페이스를 설정하려면 어떻게 해야 합니까 https://example.net/manager
?
답변1
어떤 로드 밸런서를 사용하고 있는지 모르기 때문에 특정 구성을 제공할 수 없습니다. 나 자신도 프록시인 Nginx를 통해 공개적으로 액세스할 수 있는 Tomcat 서버를 가지고 있습니다.
엔진스
upstream websites {
server 192.168.x.x:8080 fail_timeout=0;
}
server {
listen 80;
listen 443 ssl;
server_name www.example.com example.com;
location / {
proxy_pass http://websites/;
include proxy_params;
}
#SSL configuration here
}
또한 관리 및 설정이 훨씬 쉽기 때문에 Nginx가 SSL 종료 및 압축을 수행하도록 허용하고 나중에 로드 밸런스를 생성하려는 경우 Nginx를 사용하여 수행할 수도 있으므로 Tomcat에서 수행할 이유가 없습니다. https://www.digitalocean.com/community/tutorials/how-to-add-the-gzip-module-to-nginx-on-ubuntu-14-04
Tomcat server.xml보다 아직 존재하지 않는 경우 사이트에 대한 새 가상 호스트를 추가하십시오.
<Host name="www.example.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>example.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="test_example_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
관리자 프로젝트의 Manager.xml 파일보다 관리자 HTML 페이지에 액세스할 수 있는 사람을 설정할 수 있습니다. 공용 IP 주소 또는 점프 호스트로 설정할 수 있습니다. 표준으로 localhost만 HTML 관리자에 연결할 수 있다는 점을 기억해두시기 바랍니다.
개인적으로 나는 올바르게 관리되지 않고 필요하지 않은 경우 관련된 보안 문제를 피하기 위해 내 설치에서 관리자 프로젝트를 삭제했습니다.
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.1.*" />
tomcat-users.xml에서 관리자의 사용자와 비밀번호를 설정하면 됩니다.
답변2
웹서버에서 Proxpass/Porxyalias를 구성합니다. 이를 수행하려면 HTTP(80)에서 구성을 만들어야 하지만 가장 좋은 방법은 제한된 액세스로 https에서 로드할 수 있다는 것입니다.