【问题标题】:Enable port 8443 on remote machine for https access在远程机器上启用端口 8443 以进行 https 访问
【发布时间】:2012-04-19 00:47:42
【问题描述】:

有一个 tomcat6 服务器启用了端口 8443 上的 https 访问,并在 server.xml 文件的<connector> 标记上进行了设置。如下图所示:

<Connector port="8443" 
           SSLEnabled="true"
           maxThreads="150" 
           minSpareThreads="25" 
           maxSpareThreads="75"
           enableLookups="true" 
           disableUploadTimeout="true"
           acceptCount="100" 
           debug="0" 
           connectionTimeout="60000" 
           scheme="https" 
           secure="true"
           clientAuth="false" 
           sslProtocol="TLS"
           keystoreFile="/etc/tomcat6/.keystore"
           keystorePass="changeit"
/>

我正在尝试通过 java 代码使用此服务器在远程计算机上使用 https 访问端口 8443。我在 catalina.out 日志上收到 java.net.ConnectException: Connection refused。这个异常是在java代码的connection.getResponseCode();行产生的。远程机器上的端口似乎未打开。我能够毫无例外地访问服务器本身的端口 8443。远程机器没有安装tomcat。

我想在远程机器上打开该端口以供 Java 代码进行 https 访问。我使用 ubuntu server 10.04 LTS 作为服务器和远程机器。我不能使用防火墙(由于限制,ufw 或 iptables)。我可以在两台机器上使用 stunnel4。

【问题讨论】:

  • 端口打开,但没有任何东西在监听它。这就是“连接被拒绝”的意思。此连接器配置无关紧要。而且您无法在远程主机上打开端口。您必须进入该主机,使其当前是本地主机,然后管理其防火墙。 12 年后仍然没有话题。

标签: java client-server tomcat6 ubuntu-10.04 stunnel


【解决方案1】:

首先,请使用:sudo nmap -v -A localhost检查远程机器上的8443端口是否打开。结果应该是这样的:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-06-26 04:27 UTC
NSE: Loaded 36 scripts for scanning.
Initiating SYN Stealth Scan at 04:27
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Completed SYN Stealth Scan at 04:27, 0.02s elapsed (1000 total ports)
Initiating Service scan at 04:27
Scanning 1 service on localhost (127.0.0.1)
Completed Service scan at 04:27, 0.01s elapsed (1 service on 1 host)

如果端口 8443 的信息没有出现,类似于:

Discovered open port 8443/tcp on 127.0.0.1

表示8443端口没有开启,需要做点什么。

【讨论】:

  • 这会检查它是否在本地机器上打开,我们已经从连接拒绝中知道它也在远程打开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-27
  • 1970-01-01
  • 2023-04-01
相关资源
最近更新 更多