Spring Boot可执行JAR无法打开特权端口作为systemd服务

时间:2018-04-24 18:47:03

标签: spring-boot

我想将我的Spring Boot应用程序作为直接侦听端口443的systemd服务运行(不在nginx / httpd后面)。为此,我在systemd服务单元中指定AmbientCapabilities=CAP_NET_BIND_SERVICE,如下所示:

[Service]
User=myapp
ExecStart=/usr/lib/myapp.jar
SucessExitStatus=143
AmbientCapabilities=CAP_NET_BIND_SERVICE

但是,当嵌入式启动脚本运行Java时,该功能似乎丢失了。作为测试,我替换了我自己的单行bash脚本java -jar /usr/lib/myapp.jar,以查看在运行任何bash脚本时是否丢失了功能,但这有效。因此,据我所知,嵌入式启动脚本中的某些内容导致了问题。

话虽如此,我很可能会放弃嵌入式启动脚本,而不是直接从systemd服务单元启动Java,但是如果(1)其他人有相同的问题或者(2)这是一个实际的错误,而不仅仅是我错过了一些我想要至少提出问题的东西。

干杯!

0 个答案:

没有答案