[SPRING] Tomcat 서버가 "외부 적으로"작동하지 않습니다.
SPRINGTomcat 서버가 "외부 적으로"작동하지 않습니다.
내 tomcat 서버를 설정하고 LOCAL-HOST에서 작동하지만 외부에서 실행할 수는 없습니다. 일부 설정을 변경해야합니까? 모든 것을 시도했지만 다른 곳에서는 작동하지 않는 것 같습니다 ... 로컬 호스트에서 완벽하게 작동하기 때문에 이상합니다.
해결법
-
==============================
1.따라서 봄 부팅 응용 프로그램에서 Tomcat을 실행 중이며 Maven 봄 부팅 플러그인에서 시작하여 localhost에서 수신하지만 LAN IP 주소를 사용하여 연결할 수 없습니다.
따라서 봄 부팅 응용 프로그램에서 Tomcat을 실행 중이며 Maven 봄 부팅 플러그인에서 시작하여 localhost에서 수신하지만 LAN IP 주소를 사용하여 연결할 수 없습니다.
그냥 메모 - 그래서 사람들이 도와주고 싶어하지만 그것은 필요한 정보를 얻기 위해 보물 사냥해서는 안됩니다.
먼저
어떤 IP 주소와 포트가 수신 대기 중인지 확인하십시오 : 봄 부트 로그는 대개 호스트 이름 (예 : mymac.local)을 알려주며 포트는 8080 (http), :
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.2.3.RELEASE) 2015-04-29 09:14:33.269 INFO 7031 --- [main] hello.Application Starting Application v0.1.0 on mymac.local with PID 7031 (/Users/foo/Development/java/springframework/gs-spring-boot/complete/target/gs-spring-boot-0.1.0.jar started by foo in /Users/foo/Development/java/springframework/gs-spring-boot/complete) 2015-04-29 09:14:35.072 INFO 7031 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http) 2015-04-29 09:14:35.506 INFO 7031 --- [main] o.apache.catalina.core.StandardService : Starting service Tomcat 2015-04-29 09:14:35.507 INFO 7031 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.0.20
그리고 규칙에 따라 Tomcat은 모든 IP 주소 (0.0.0.0)에서 수신을 시작하므로 이상하게 작동하지 않습니다.
이렇게하는 또 다른 방법은 netstat을 사용하는 것입니다. Max / Linux :
$ netstat -an | grep 8080 tcp46 0 0 *.8080 *.* LISTEN
창문에
C:\> netstat -an | find "8080" TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING TCP [::]:8080 [::]:0 LISTENING
앱이 0.0.0.0 또는 192.168.0.100과 같은 실제 IP를 수신하는 경우 방화벽을 사용하거나 네트워크에서 차단 된 것으로 보입니다.
앱이 localhost / 127.0.0.1에서만 듣고 있다면이 질문과 같이 실제 IP를 사용하도록 tomcat에 알려야합니다. localhost 외에 IP 주소로 요청을 듣기 위해 Spring과 통합 된 임베디드 Tomcat을 구성하는 방법은 무엇입니까?
둘째로 curl / telnet / netcat과 같은 간단한 클라이언트와 기본 연결을하십시오. 브라우저, 특히 IE는 Windows 그룹 정책과 같은 제한을받을 수 있습니다. 이는 많은 정보가 거의 또는 전혀 작동하지 못하게합니다.
따라서 다른 머신에서 tomcat 포트로 telnet 할 수 있는지 확인하십시오 (tomcat이 192.168.0.100에서 실행 중이라고 가정).
$ telnet 192.168.0.100 8080 Trying 192.168.0.100... Connected to localhost. Escape character is '^]'.
연결된 메시지가 표시되면 연결이 가능하므로 브라우저에서 작동하지 않는 경우 다른 오류가 있습니다.
바로 거절되면 2 대의 컴퓨터 사이에 경로 / 연결이 없습니다. 이것은 보통 당신의 바람둥이가 정확한 IP 주소를 듣지 않는다는 것을 의미합니다.
$ telnet 192.168.0.100 8080 Trying 192.168.0.100... telnet: connect to address 192.168.0.100: Connection refused telnet: Unable to connect to remote host
연결하는 메시지에 그냥 매달려 있으면 아마 방화벽 일 것입니다.
$ telnet 192.168.0.100 8080 Trying 192.168.0.100...
from https://stackoverflow.com/questions/29885274/tomcat-server-not-working-externally by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 바람둥이에 대한 분산 HTTP 세션 상태 서버 (0) | 2019.05.02 |
---|---|
[SPRING] HandlerExceptionResolver를 어떻게 연결합니까? (0) | 2019.05.02 |
[SPRING] 스프링 배치 레코드 그룹화 / 요약 (0) | 2019.05.02 |
[SPRING] Spring JPA : 트랜잭션 없음 (0) | 2019.05.02 |
[SPRING] 고객에게 푸시 알림 (0) | 2019.05.02 |