외부 IP 주소에서 웹 서버에 액세스할 수 있도록 spring-boot을 설정하는 방법
설정 방법을 알아보고 있습니다.tomcat에 내에spring-boot외부 IP 주소에서 액세스를 허용합니다.현재 locahost:port에서 UI를 볼 수 있지만 다른 시스템에서는 UI에 액세스할 수 없습니다.
http://localhost:8081
로컬 컴퓨터에 로그인하면 작동합니다.
http://192.168.0.93:8081
로컬 컴퓨터에 로그인하여 http://192.168.0.93:8081을 시도해도 작동하지 않습니다.
작동하지 않는 IP 주소를 통해 다른 컴퓨터에서 UI에 액세스하고 싶습니다.
http://192.168.0.93:8081
내가 도착했을 때springs문서를 찾았습니다. server.address를 사용하는 웹 서버를 설정하기 위해 cat할 IP 주소를 추가할 수 있습니다.그러면 외부 시스템에서 이 IP 주소를 통해 서버에 액세스할 수 있습니다.
server.port=8082
server.address=192.168.0.93
주소를 제공하지 않으면 포트가 정상적으로 작동하지만 주소를 제공하고 실행하려고 하면 해당 주소에 바인딩하는 문제가 발생합니다.▁like처럼 보입니다.spring-bootlocahost:8082 파일이 할당되어 .
질문:.
설정하는 spring-boot외부 주소로 액세스하고 로컬로 액세스할 때 자신의 IP를 인식하는 행위를 허용합니까?
감사해요.
스택 추적:
java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:340)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:765)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:473)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:986)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:239)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:194)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:151)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)
at com.miw.mcb.server.ReactAndSpringDataRestApplication.main(ReactAndSpringDataRestApplication.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:478)
at java.lang.Thread.run(Thread.java:745)
2016-05-25 11:24:30 - Failed to start connector [Connector[HTTP/1.1-8081]]
org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-8081]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:239)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:194)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:151)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)
at com.miw.mcb.server.ReactAndSpringDataRestApplication.main(ReactAndSpringDataRestApplication.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:478)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: service.getName(): "Tomcat"; Protocol handler start failed
at org.apache.catalina.connector.Connector.startInternal(Connector.java:993)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
... 19 common frames omitted
Caused by: java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:340)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:765)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:473)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:986)
... 20 common frames omitted
2016-05-25 11:24:30 - Pausing ProtocolHandler ["http-nio-192.168.0.93-8081"]
2016-05-25 11:24:30 - Stopping service Tomcat
2016-05-25 11:24:30 - The stop() method was called on component [StandardServer[-1]] after stop() had already been called. The second call will be ignored.
2016-05-25 11:24:30 - Stopping ProtocolHandler ["http-nio-192.168.0.93-8081"]
2016-05-25 11:24:30 - Destroying ProtocolHandler ["http-nio-192.168.0.93-8081"]
2016-05-25 11:24:30 - Application startup failed
org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat servlet container
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:165)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)
at com.miw.mcb.server.ReactAndSpringDataRestApplication.main(ReactAndSpringDataRestApplication.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:478)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Tomcat connector in failed state
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:159)
... 16 common frames omitted
많은 분들이 보셨기 때문에.해결책은 방화벽이 호스팅 센터에서 올바르게 구성되었는지 확인하는 것이었습니다.OS 컴퓨터이며 서버 주소를 명시적으로 설정하지 않았습니다.
잘못된 설정
이전에 방화벽이 잘못 설정되어 실패했습니다.
server.port=8081
server.address=192.168.0.93
방화벽이 올바르게 설정되면 server.address를 포트만 지정할 필요가 없습니다.
올바른 설정
server.port=8081
이를 통해 IP를 사용하여 다른 시스템에서 애플리케이션에 올바르게 액세스할 수 있었습니다.
http://<someip>:<server.port>
http://192.168.0.93:8081
감사합니다, 저를 많이 절약해 주셨어요!이 글을 댓글로 올리고 싶었지만, 저는 답장을 하기에 충분한 평판이 없습니다.
방화벽 변경에 대한 정보를 원하시는 분들은
방화벽을 사용하여 VM(centos7)에 스프링 부팅 웹 서버 포트를 추가했습니다.
웹 서버에서 8080을 사용했기 때문에 다음 작업을 수행했습니다.
firewall-cmd --permanent --reload --zone=public --add-port=8080/tcp*
sudo systemctl restart firewalld*
변경 사항을 적용하려면 방화벽을 다시 시작하거나 다시 시작해야 합니다.네가 만약,
sudo firewall-cmd --list-all*
찾을 수 있습니다8080/tcp되었습니다.
이 작업은 다음을 사용하여 쉽게 수행할 수 있습니다.ufw
있는 다음을 입력합니다.sudo ufw status numbered
포트를 열려면 다음을 입력합니다.sudo ufw allow 8080(8080 또는 원하는 포트)
포트를 제거하려면 다음을 입력합니다.sudo ufw delete {number}
다음 번호를 다시 확인하는 것을 기억하십시오.sudo ufw status numbered삭제하기 전에 확인하십시오.
:-)
이 문제는 포트를 여는 데 필요한 방화벽 때문에 발생합니다.저는 우분투를 사용하고 있습니다.이 명령으로 포트가 열렸습니다.응용 프로그램에서 포트 8000을 사용하므로 아래 명령을 사용하여 포트를 엽니다.
firewall-cmd --permanent --zone=public --add-port=8080/tcp
그런 다음 명령을 사용하여 방화벽 서비스를 다시 시작합니다.
sudo systemctl restart firewalld
또한 springboot 응용 프로그램에서 server.servlet.context-path를 설정하여 올바른 끝점을 알고 있는지 확인합니다.직접 항구로 가지 않는 경우
언급URL : https://stackoverflow.com/questions/37445626/how-to-setup-spring-boot-to-allow-access-to-the-webserver-from-outside-ip-addres
'programing' 카테고리의 다른 글
| 도커 컨테이너의 외부 포트가 임의로 있음에도 불구하고 유레카 사용 (0) | 2023.07.11 |
|---|---|
| SSIS 스크립트 구성 요소가 수동으로 열 때까지 어셈블리를 로드할 수 없음 (0) | 2023.07.11 |
| 일부 Excel 파일이 공유 경로에서 SQL Server로 이동하지 않음 (0) | 2023.07.11 |
| git reflog와 log의 차이점은 무엇입니까? (0) | 2023.07.11 |
| Oracle에 동등한 기능 포함 (0) | 2023.07.11 |