当前位置: 首页 > 面试题库 >

Java Web Start:自Java 8 Update 111起无法通过代理进行隧道传输

夹谷星河
2023-03-14
问题内容

自Java 8 Update 111以来,我们的某些客户无法再运行Java Web Start客户端。他们得到:

java.io.IOException:无法通过代理隧道。代理返回“需要HTTP / 1.1 407代理身份验证

看起来与此更改有关:

现在,默认情况下,在为HTTPS设置隧道时需要基本身份验证的代理将不再成功。如果需要,可以通过从jdk.http.auth.tunneling.disabledSchemes网络属性中删除“基本”,或在命令行上将同名的系统属性设置为“”(空)来重新激活此身份验证方案。

如果客户不愿意更改其代理身份验证方法,有什么办法?

注意: 添加<property name="jdk.http.auth.tunneling.disabledSchemes" value=""/><resources>JNLP无效。这是因为以这种方式仅支持少数几个属性(此页面底部附近有一个列表)。“
jdk.http.auth.tunneling.disabledSchemes”不在其中。


问题答案:

我发现有一种方法,但不是在开发人员手中:用户可以添加

-Djdk.http.auth.tunneling.disabledSchemes=""

Java控制面板中的Java 8→Java→查看…→运行时参数

Java控制面板→桌面设置→运行时参数中的Java 9



 类似资料:
  • 问题内容: 我面临着Java6 / 8的奇怪行为。我尝试通过需要基本用户身份验证的代理进行隧道传输。通过标准的Java身份验证器执行此操作。如果我尝试访问https网址作为第一个网址,则会引发异常: java.io.IOException:无法通过代理隧道。代理返回“需要HTTP / 1.1 407代理身份验证” 但是,如果我先访问http URL,然后再访问https URL,则https访问正

  • 我有两台机器:machine foo()运行redis服务器,而machine bar()运行通过Jedis连接到foo的java应用程序。当给jedis提供地址时,一切都很好。 但是我不信任foo和bar之间的路由器,redis也不支持SSL。因此,我设置了一个从bar到foo:的ssh隧道 现在,从bar中,我可以直接在或通过隧道在成功地telnet到foo上的redis。对于jedis,如果

  • 我对新的twitter api有一个奇怪的问题。我按照这个问题很好的答案在twitter上创建了一个搜索,并使用了TwitterAPIExchange。从这里开始。 只要我使用CURL从服务器直接调用它,一切都正常。但在实时环境中,我必须使用具有基本身份验证的代理。 我所做的只是将代理身份验证添加到performRequest函数中: 没有代理,我得到一个JSON响应。但是有了代理,我得到了: H

  • 我无法配置我的远程服务器。这个远程服务器必须通过全局服务器连接,所以我必须使用隧道连接到我的服务器。每当我连接到远程服务器时,jprofiler都会显示以下消息 另一个应用程序正在端口12345上侦听。请检查您的端口配置 最初我可以通过相同的配置连接到这个jboss进行评测,有人能告诉我出现上述情况的原因吗?

  • 我已经在ASP.NET webform中实现了signalR,它运行良好,但当我在服务器上托管时,它不工作,在chrome浏览器的控制台中显示如下错误。 WebSocket连接到'ws://demo.in/signalr/connect?失败了。 我的ASP.NET应用程序框架版本是4.5.1 IIS版本为8.5 Windows Server是2012R2 Wedsocket已启用 如果有人知道请

  • 问题内容: 我的目的是连接到位于防火墙后面的服务器(主机)。我可以通过连接到网络中的另一台服务器(隧道)然后通过SSH到该服务器来访问此服务器。但是,我无法通过JSch实现相同的方案。 我无法为此编写以下代码。如果我在这里做任何愚蠢的事情,请告诉我。 上面的代码在行中给出了以下异常。 问题答案: jsch上的代理设置允许您连接到远程端上 正在运行的 代理服务器。一个在远程端将 不 被视为一个代理。