【问题标题】:Solaris KSSL and a Java web serverSolaris KSSL 和 Java Web 服务器
【发布时间】:2013-11-26 22:25:07
【问题描述】:

我正在尝试将 Solaris KSSL 代理 (http://www.c0t0d0s0.org/archives/5575-Less-known-Solaris-Features-kssl.html) 设置为 Jetty Web 服务器的前端。

我能够使 KSSL 与 Apache Web 服务器一起工作,以便 KSSL 将所有来自端口 443 的传入 SSL 流量重定向到侦听端口 28080 的 Apache Web 服务器。

但是,当 Jetty 正在侦听端口 28080 时,相同的配置不起作用。我验证了 KSSL 请求甚至没有到达 Jetty,或者至少我在访问日志中看不到它们。此外,即使我设置了一个只侦听服务器套接字的简单 Java 类,KSSL 也无法将请求重定向到它。

我的问题是,为了能够从 KSSL 获取请求,Web 服务器的先决条件是什么?

最好的问候, 利奥

【问题讨论】:

  • 认为不指定主机名可以解决问题。我怀疑证书中的主机名与 ksslcfg 使用的主机名不匹配。

标签: java jetty solaris


【解决方案1】:

使用 kssl 时有两个非常常见的问题。

首先是apache监听的IP要相同 作为您的 ksslcfg 命令。所以如果你有 Listen 123.123.123.123:28080 in httpd.conf 文件,那么您必须使用具有相同 IP 的 ksslcfg 命令。 你不能让它监听任何(*)然后在 ksslcfg 中列出一个 IP, 或侦听 IP 并在 ksslcfg 上忽略 IP。无论 netstat 显示什么 正在侦听端口 28080 必须与 ksslcfg 中使用的 IP 匹配 (或者不要使用它正在监听的 IP *)

第二个是必须按这个顺序进行操作:

  1. ksslcfg
  2. 重启apache

如果不重启apache就运行ksslcfg是不行的。

我见过很多人在网上进行类似的测试 localhost 在他们的 ksslcfg 命令中。它不会工作,除非你也 将 localhost 作为 apache 配置中的侦听 IP。

【讨论】: