나는 Tomcat을 처음 사용하는데 이 경우 내 웹사이트에서 작업할 수 있습니다.
http://myserver:8080/path/login/login.html
포트 8443을 사용하여 https를 활성화하고 싶습니다.
https://myserver:8443/path/login/login.html
일반 사용자로 tomcat을 사용하는데 구성은 다음과 같습니다.서버.xml, 이것웹사이트:8443내 SSL 인증서를 사용하고 있으며웹사이트:8080더 이상 작동하지 않습니다. http 모드가 더 이상 작동하지 않는 것이 정상인가요? https로 직접 리디렉션하려면 어떻게 해야 하나요? web.xml에 유명한 그룹이 있나요?
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,text/json,application/x-javascript,application/javascript,application/json" />
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="150" SSLEnabled="true">
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig>
<Certificate certificateKeyFile="conf/cert.key"
certificateFile="conf/cert.crt"
type="RSA" />
</SSLHostConfig>
</Connector>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
매우 감사합니다
답변1
아니요, 모든 커넥터는 독립적으로 작동해야 합니다. Tomcat을 다시 시작하기 전에 실행 중인 Tomcat 인스턴스를 중지하고 다른 애플리케이션에서 해당 포트를 사용하고 있지 않은지 확인하십시오.
또한 catalina.log
시작 후 어떤 일이 발생하는지 확인하세요. 다음과 같이 포트당 하나의 로그 메시지가 포함되어야 합니다.
04-Dec-2020 19:24:16.658 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
04-Dec-2020 19:24:16.750 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["https-openssl-apr-8443"]
04-Dec-2020 19:24:16.782 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
04-Dec-2020 19:24:16.825 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [8,729] milliseconds
conf/web.xml
모든 웹 애플리케이션에 대해 모든 요청을 HTTP에서 HTTPS로 리디렉션하려면 마지막 줄 (CATALINA_BASE 또는 CATALINA_HOME 디렉터리) 앞 끝에 다음 코드 조각을 추가하세요 </web-app>
.
<security-constraint>
<web-resource-collection>
<web-resource-name>secured</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
전송 보장 값은 CONFIDENTIAL
이 패턴과 일치하는 모든 URL이 보안 연결을 사용함을 의미합니다 . 즉, SSL이 아닌 요청은 커넥터 설정에 정의된 연결 /*
로 리디렉션됩니다 .redirectPort