【问题标题】:Creating Socket in Tomcat servlet - Permission denied (connect failed)在 Tomcat servlet 中创建 Socket - 权限被拒绝(连接失败)
【发布时间】:2018-06-20 05:24:30
【问题描述】:

所以我有一个奇怪的问题,我无法为我的本地主机地址创建一个套接字。我尝试从我的 tomcat servlet 中打开一个到 127.0.0.1:6001 的套接字。另一个应用程序正在侦听此端口。并且其他服务能够连接到此服务。但是在我的 tomcat servlet 中,当我尝试连接时,我总是得到权限被拒绝(连接失败)。我错过了什么吗?

规格:

  • tomcat-7.0.76
  • CentOS Linux 7.4.1708 版
  • java版本“1.8.0_121”

我已经试过了:

在 catalina.policy 中添加权限

  • grant codeBase "file:${tomcat.home}/webapps/App" { 权限 java.net.SocketPermission "localhost:6000-6200", "accept,connect,listen"; 权限 java.util.PropertyPermission "*","re​​ad"; };

在 SELinux 中设置参数

  • setsebool -P httpd_can_network_connect on

提前致谢

【问题讨论】:

    标签: java linux sockets tomcat servlets


    【解决方案1】:

    此“权限被拒绝”来自操作系统,而不是 Java 安全管理器,因此提供 SocketPermission 是无关紧要的。运行 Tomcat 的用户 ID 无权连接到该端口。

    【讨论】:

    • 嘿,EJP,我刚刚想通了。因为当我将 SELinux 设置为许可模式时,它工作正常。所以我必须弄清楚如何配置 SELinux。找到配置后我会通知您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2016-02-13
    • 2022-08-22
    • 2018-03-23
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多