VPS上的春季启动应用没有响应

时间:2017-05-23 22:12:14

标签: java spring tomcat spring-boot

我开发了spring boot app。我用嵌入式tomcat准备了它。当我在我的电脑上运行那个罐子时一切正常。但是当我在VPS上运行相同的应用程序时,它会被初始化,在第一次请求时它打印出dispatcherServlet被初始化但没有任何其他响应。浏览器保持连接,响应永远不会到来。我尝试在其他端口和类似的端口上运行它,但没有运气。第一次尝试,当我刚运行应用程序时,它工作。但后来我尝试在后台运行它,从那时起,它从未返回任何响应。

我相信它接收请求,因为它打印了dispacherServlet初始化。任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:2)

我在Spring Boot应用程序中观察到了相同的行为。但如果我等了足够长的时间,我会收到这样的信息:

o.a.c.util.SessionIdGeneratorBase        : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [224,707] milliseconds.

这可能意味着您的VPS具有弱熵源,并且可能需要(非常)长时间才能完全启动。

根据tomcat wiki

  

Tomcat 7+严重依赖SecureRandom类为其会话ID和其他地方提供随机值。如果用于初始化SecureRandom的熵源缺少熵,则可能会在启动期间导致延迟,具体取决于您的JRE。

您可以使用系统属性

来使用非阻塞熵源
-Djava.security.egd=file:/dev/./urandom

它有一些安全隐患,详情请参阅this question on security.stackexchange.com

答案 1 :(得分:1)

检查你的杉木墙限制。尝试允许连接到您的端口。如果您正在使用centos 7尝试此命令

firewall-cmd --zone=public --add-port=8080/tcp

用您的端口替换8080。如果你使用iptables服务。试试:

iptables -I INPUT -p tcp -m tcp --dport 8080-j ACCEPT