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

Java上的服务器名称指示(SNI)

皇甫学海
2023-03-14
问题内容

谁能帮助我开始使用Java用服务器名称指示进行HTTP连接吗?

我正在尝试从我管理的网站请求内容。我一直在使用Apache的HttpClient库,但是我对安全内容的请求失败,因为该网站仅将SNI用于HTTPS,并且DefaultHttpClient中未启用SNI。我一直在Apache的HttpClient库中寻找有关如何实现此目标的说明,但最终看到此文档:http
:
//hc.apache.org/httpclient-3.x/sslguide.html,该文件已过时(当HttpClient和HttpCore是Apache的commons软件包的一部分时,请参考代码)。

那么…有什么帮助吗?


问题答案:

您可能要跟踪https://issues.apache.org/jira/browse/HTTPCLIENT-1119

Java
7的底层客户端实现能够支持它,并通过SSLSocketImpl#setHost(由sun.net.www.protocol.https.HttpsClient调用)公开该功能。

在Java 7上使用

    new URL("https://cmbntr.sni.velox.ch/").openStream()

直到修复HTTPCLIENT-1119



 类似资料:
  • 我使用Wireshark捕获DNS数据包。在响应数据包中,我可以看到行权威名称服务器。问题:为什么有时服务器响应4或5个权威名称服务器,而有时只有1个?如果有一个权威的名称服务器列表,我如何知道关于IP地址的信息到底来自哪一个?如何找到包含特定域名信息的权威域名服务器的总列表?

  • 我正在用Laravel5.6构建一个表单,在其中我保存了一个名字和一个用户照片,但我需要将照片与用户名一起存储。我展示了我商店的代码 我可以使用$request->nombre获得用户名; 但我不知道怎么给照片取名字

  • 在Wireshark中,当我们在跟踪一个网站后检查DNS响应时,哪个部分反映了“关于名称服务器的信息”? 权威RRS? 附加RRS? 或在答案部分(名称,类型,类,时间,数据) 对不起,是英语和Wireshark的新手。 谢谢你

  • 我们有一个私人空间,并提供了一个内部API的访问权限,这样我们就可以从私人空间应用程序访问它。因此,我们开发了一个演示Java应用程序来测试它。当我们尝试用HTTP连接服务时,堆栈跟踪会像这样结束。 当我们ping私有空间中的相应IP时,我们可以看到它已启动。但是当我们试图从Java应用程序中访问服务时,它就像上面那样结束了。 Java 代码是这样的: 有没有人有任何想法来解决这个问题? 谢谢你。

  • 我们的api托管在:https://oursitename.com 当我们尝试在此处打开OpenAPI规范时:https://oursitename.com/openapi/v1/openapi.json,我们发现指定的服务器名称不正确:“https://realsitename.azurewebsites.net". 其他信息:我们的网站名。com是指向realsitename的CNAME记录。

  • 我天真的理解是: > 你告诉注册器,的名称服务器应该是和。 上传一个区域文件到和和一些记录。 我没想到2。可能包括NS记录。我以为NS记录是第一步的一部分。 名称服务器中有NS记录的目的是什么?NS记录在1. vs 2.中的使用有何不同? 前一个问题可能有点涉及这个话题,但我想得到更深入的理解。