程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Ubuntu 17.10上允许对Spring Boot Jar的低级别端口访问大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在Ubuntu 17.10上允许对Spring Boot Jar的低级别端口访问?

开发过程中遇到在Ubuntu 17.10上允许对Spring Boot Jar的低级别端口访问的问题如何解决?下面主要结合日常开发的经验,给出你关于在Ubuntu 17.10上允许对Spring Boot Jar的低级别端口访问的解决方法建议,希望对你解决在Ubuntu 17.10上允许对Spring Boot Jar的低级别端口访问有所启发或帮助;

我希望有人能给我一个更好的答案,但是如果我直接向Java添加了低级端口访问权限(我已经安装了Oracle),则可以启动jar sudo setcap CAP_NET_BIND_serviCE=+eip /usr/lib/jvm/java-8-Oracle/jre/bin/javasudo setcap CAP_NET_BIND_serviCE=+eip /usr/lib/jvm/java-8-Oracle/bin/java

应该也适用于OpenJDK,但是具有不同的可执行位置,我用以下方法进行检查: echo $PATH

解决方法

按照此处的说明,我从spring引导项目(1.5.8)中创建了一个可执行jar,以便将其作为服务运行(我想在port上运行它443)。如果仅以开始启动,java -jar proj.jar则会出现错误消息,指出该端口正在使用中,但是使用sudo java -jar proj.jartomcat可以启动并且该站点可以正常工作。

我试图允许对jar的低级别端口访问,但是仍然出现错误。(sudo setcap CAP_NET_BIND_serviCE=+eip /path/to/jarsetcap 'cap_neT_Bind_service=+ep' /path/to/jar

如何赋予jar / tomcat低级端口访问权限,以便它在443上运行并且可以将其作为服务启动?

作为非root用户,我通过以下方式安装了jar:

  1. 克隆仓库
  2. chmod +x ./mvnw
  3. ./mvnw package -Dmaven.test.skip=true
  4. cd target 并制作application.protperties并复制keystore.jks
  5. sudo ln -s /home/user/projectname/target/proj-0.0.1-SNAPSHOT.jar /etc/init.d/projectname
  6. sudo chmod +x /etc/init.d/projectname
  7. sudo update-rc.d projectname defaults
  8. sudo service projectname start

检查日志文件,我可以看到错误,但是正如我提到的,如果我使用sudo启动jar,它就可以工作。

The tomcat connector configured to listen on port 443 failed to start. The port may already be in use or the connector may be misconfigured.

大佬总结

以上是大佬教程为你收集整理的在Ubuntu 17.10上允许对Spring Boot Jar的低级别端口访问全部内容,希望文章能够帮你解决在Ubuntu 17.10上允许对Spring Boot Jar的低级别端口访问所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。