【问题标题】:How to open SslSocketConnector to be accesible from outside如何打开 Ssl Socket 连接器以从外部访问
【发布时间】:2023-03-08 17:56:01
【问题描述】:

在我的应用程序中,我按照以下方式创建 SslSocketConnector:

    SslSocketConnector connector = new SslSocketConnector();
    connector.setKeystore(certificatePath);
    connector.setPassword(certificatePassword);
    connector.setKeyPassword(certificatePassword);
    connector.setTruststore(certificatePath);
    connector.setTrustPassword(certificatePassword);
    connector.setPort(8805);
    connector.setHost("127.0.0.1");

问题是我无法从服务器外部访问它。例如:调用https://mydomain.cz:8805 会给我错误:连接ECONNREFUSED。

当我检查 lsof 时,我看到:

java      18588            root   42u  IPv4 4608979      0t0  TCP *:8443 (LISTEN)
java      18588            root   51u  IPv4 4610607      0t0  TCP 127.0.0.1:8805 (LISTEN) 

我想整个问题是我需要 *:8805 而不是当前的 127.0.0.1:8805。 (与上面一行中的另一个应用程序相同)。

您知道如何实现吗?

【问题讨论】:

  • 你在说哪个SslSocketConnector 类?这不是 Java SE 类...并且有多个具有此名称的 3rd-party 类。

标签: java https


【解决方案1】:

IP 必须是 0.0.0.0

SslSocketConnector connector = new SslSocketConnector();
connector.setKeystore(certificatePath);
connector.setPassword(certificatePassword);
connector.setKeyPassword(certificatePassword);
connector.setTruststore(certificatePath);
connector.setTrustPassword(certificatePassword);
connector.setPort(8805);
connector.setHost("0.0.0.0");

【讨论】:

  • 你应该解释一下为什么它应该是0.0.0.0
猜你喜欢
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多