Spring boot 如何在端口443上运行Spring Boot

Spring boot 如何在端口443上运行Spring Boot,spring-boot,apache2,Spring Boot,Apache2,我在我们的一个Spring Boot应用程序中遇到了一个问题。我们在8443端口上使用https运行,一切正常。现在,我们正在构建一个与外部支付处理器的集成,它们要求我们在应用程序的端口443上有一个回调端点 一些研究告诉我,不允许部署监听1024以下端口号的Spring boot应用程序。我在这个问题上找到的线程通常会说“使用1024以上的端口号”,海报上会这样说 我很高兴。我已经有了,需要找到一个使用端口443的解决方案 有人有什么建议吗?我可以通过为回调端点构建Apache代理来解决这个问

我在我们的一个Spring Boot应用程序中遇到了一个问题。我们在8443端口上使用https运行,一切正常。现在,我们正在构建一个与外部支付处理器的集成,它们要求我们在应用程序的端口443上有一个回调端点

一些研究告诉我,不允许部署监听1024以下端口号的Spring boot应用程序。我在这个问题上找到的线程通常会说“使用1024以上的端口号”,海报上会这样说 我很高兴。我已经有了,需要找到一个使用端口443的解决方案

有人有什么建议吗?我可以通过为回调端点构建Apache代理来解决这个问题吗


我们在同一台服务器上有使用Apache2和端口443的web应用程序,因此启动应用程序需要与之共存。

有几种web服务器或反向代理解决方案,它们可以侦听端口443并将您的请求路由到Spring Boot应用程序服务器的端口8443

除了Apache2之外,还有:

  • nginx:
  • haproxy:
可能还有更多,但我到目前为止使用的3个


如果您的应用程序在云中运行-云提供商通常也提供服务,可以完成这项工作,例如AWS ELB。

好的,我自己用一种非常简单和优雅的方式解决了这个问题。在此过程中,我还解决了Spring引导应用程序必须在URL中使用端口号调用的问题,这一直困扰着我

我发现了这个线索:

在这本书中,解决方案基本上是被列出的。我必须激活三个apache2 MOD:

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod headers
我将这些行添加到我的Apache2 vhost配置文件中,就在
VirtualHost
标记的ServerName下面:

SSLProxyEngine on
ProxyPass / https://127.0.0.1:8443/
ProxyPassReverse / https://127.0.0.1:8443/
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443
ProxyPreserveHost On
8443是Spring引导应用程序使用的端口号,在
server.port
属性中配置


作为奖励,这也意味着我们不再需要在防火墙中打开启动应用程序使用的端口。

感谢您的时间和努力,Elmar。我用Apache解决了这个问题,不需要添加额外的软件。Apache也是一个附加软件,因为它不是Spring Boot的一部分。在我的回答中,我列出了Apache的替代品,它们取代了它。是的,正确。我应该说“给我们增加软件”。我们拥有并使用Apache。对于我们来说,添加Apache已经可以做的事情没有任何价值。