Tag: dns

找不到匹配www.billiving.com的主题替代DNS名称。 为什么这会引起如何解决?

我有www.billiving.com API的集成测试套件。 当API调用端点应该是https://www.billiving.com 。 我的测试套件在windows上完美运行。 但是当它移动到ubuntu 14.x时,它会因以下exception而失败。 [1] 所以我写了这个[2]代码来测试它超出测试套件。 它仍然以相同的例外失败。 所以我试图将billiving.com证书导入JKS但仍然失败,但同样的例外。 我知道作为解决方案,我们可以覆盖Verifier类中的verify方法并返回true。 但我需要适当的解决方案,因为这会导致安全问题。 1)为什么这个错误和为什么它只在linux上。 2)我们如何通过适当的解决方案解决这个问题 APIurl: https : //www.billiving.com/ [1]例外: > javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS > name matching www.billiving.com found. at > com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) > at > com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747) > at > com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241) > at > com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1209) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:135) […]

域名未指向已安装的Java WebApplication在并行plesk中,删除端口号

我已经在我的服务器上通过Plesk 11.0.4安装了一个Java Web应用程序。 现在我希望我的域名指向我的Web应用程序。 我的地址’www.domain.com’显示空白页面。 当我通过plesk安装我的应用程序时,我可以在“www.domain.com:9080/webapp”地址访问它。 但我想从我的域名访问我的网络应用程序,例如www.domain.com将访问我的应用程序。 我的webapp应用程序的根路径是:’/ usr / share / tomcat6 / work / Catalina / PSA / webapp’

SRV记录从DNS服务器检索的订单

我必须在Android应用程序中对SRV记录进行DNS查找,然后选择其中一个。 当我在DNS服务器上查询多个SRV记录的优先级和权重不同时,我会在每个请求中获得不同顺序的记录,这些记录是由服务器订购的吗? 如果是,订单算法是什么? 我猜测它尊重优先级,因为优先级较低是最优先考虑的,但是如果优先级相同,我认为它会以循环方式尊重权重,但这并没有发生! 我有一个简单的bind9 DNS服务器,有2个SRV记录,如下所示: 域优先级权重 aaa.example.com 1 90 bbb.example.com 2 10 当我查找时,我希望得到aaa.example.com 9次作为第一个结果,而第10次我会得到bbb.example.com作为第一个结果,这没有发生!,服务器只是颠倒了每个请求的顺序!

用Java替换默认的DNS名称解析

我想改变JVM在HttpURLConnections中解析域名的方式。 我没有通过默认的TCP / IP堆栈访问DNS服务器,而是想编写自己的代码来解析域名。 有没有办法替换默认的名称解析机制?

在不同的网络上JBoss UnknownHostException

让JBoss在网络上工作时遇到了一些问题。 作为一个快速概述,我们有一个开发网络(我称之为DEV)和一个客户端网络(比如说…客户端!)。 它们通过防火墙连接。 在Dev网络中,服务器称为192.168.100.50,在客户端网络上称为10.0.100.50。 两个网络中的DNS通过DNS(sqlserver.dev.net)解析相关的IP。 sqlserver提供2个服务,一个通过.NET Web服务,另一个通过JBoss。 在DEV网络上运行客户端时,两种服务都可以正常工作。 在CLIENT网络上时,只有.NET服务可用。 尝试在以下代码中执行ContextLookup时,JBoss客户端抛出UnknownHostException: Properties p = new Properties(); p.put(“java.naming.factory.initial”, “org.jnp.interfaces.NamingContextFactory”); p.put(“java.naming.factory.url.pkgs”, “=org.jboss.naming:org.jboss.jnp.interfaces”); p.put(“java.naming.provider.url”, “sqlserver.dev.net:1199”); try { Context c = new InitialContext(p); cm = (ServiceRemote)c.lookup(Service.RemoteJNDIName); } catch (NamingException e) { e.printStackTrace(); throw new RuntimeException(e); } 例外情况是: 根exception是java.rmi.UnknownHostException:未知主机:SQLserver 我可以确认问题是客户端正在尝试连接到没有域名的’sqlserver’。 这已经通过将’sqlserver’添加到客户端的主机文件中进行了测试,并且工作正常。 另外,“SQLserver”的拼写很有趣,因为这是Windows主机报告主机名的方式,而不是它如何存储在DNS中。 我最好的猜测是,一旦客户端进行初始连接,JBoss会告诉客户端将来连接到’SQLserver’,客户端无法解析。 我已经尝试将以下系统属性设置为sqlserver的FQDN: jgroups.bind_addr bind.address java.rmi.server.hostname 有没有人有任何想法?

离线时OSX Lion上的InetAddress.getLocalHost()解析

在离线工作(即没有连接到互联网)时,是否有任何人在使用OSX Lion的Java中解决Java的InetAddress.getLocalHost()问题? 似乎localhost:127.0.0.1根本没有解决: Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at java.net.InetAddress.getLocalHost(InetAddress.java:1356) 我的/ etc / hosts没什么特别之处: ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 我怀疑这不是Java问题,而是OSX Lion DNS解决问题。 有人可以帮忙吗? 如果这不是正确的论坛,我可以在哪里询问这个问题? 有关如何在OSX级别进一步调试的任何提示? 更新26/10/2011 – […]

基于多个DNS结果的Java传出TCP连接故障转移

如果我使用new Socket(“unit.domain.com”, 100)并且unit.domain.com DNS记录在A记录中有多个IP地址..如果连接失败,Java是否自动连接像浏览器那样列表中的其他地址之一? 还是必须手动实施?

JAVA中的DNS查询

我正在乱用Java中的DNS服务 – 我特意尝试查找所有google.com地址并将其显示在数组中,类似于使用nslookup运行查找: nslookup -q=TXT _netblocks.google.com 8.8.8.8 我正在使用InetAddress ,但继续获得exception错误。 由于错误引用“未知主机”,我不认为InetAddress可以读取TXT记录(如果我使用google.com它可以工作,但这不会显示完整的IP范围)。 以下是我的代码: InetAddress dnsresult[] = InetAddress.getAllByName(“_netblocks.google.com”); for (int i=0; i<dnsresult.length; i++) System.out.println (dnsresult[i]); 如果有人能指出我正确的方向,我将不胜感激。 -JK

JVM和OS DNS缓存

我正面临着JVM和DNS的问题。 我正在阅读的所有内容(包括文档和本文 )都说我可以使用networkaddress.cache.ttl禁用JVM DNS缓存,可以使用java.security.Security.setProperties设置,但是通过使用系统属性的标准方法。 我已成功将其更改为0,因此我的JVM中不再有缓存。 但现在,在每次调用InetAddress.getByName(“mytest.com”) ,似乎我的JVM正在使用系统 DNS缓存(在我的情况下是Windows 8)。 实际上,在该方法的两次调用之间,我已经更改了“mytest.com”的BIND9属性,但IP返回仍然是相同的。 这是工作流程: 我的Java代码中的setCachePolicyInJVM(0) 。 将mytest.com设置为192.168.1。 在BIND9中188 ,重启。 InetAddress.getByName(“mytest.com”).getHostAddress(); – > 192.168.1。 188 设置mytest.com – > 192.168.1。 在BIND9 160 ,重启。 InetAddress.getByName(“mytest.com”).getHostAddress(); – > 192.168.1。 188 (如果没有缓存,则应为160 )。 刷新Windows DNS InetAddress.getByName(“mytest.com”).getHostAddress(); – > 192.168.1。 160 我已多次读过JVM不使用系统缓存,但这是错误的:它显然是这样。 我们如何绕过操作系统 DNS缓存强制每次调用新的DNS解析?

Java中的非阻塞(异步)DNS解析

是否有一种干净的方法以非阻塞的方式异步解析Java中的DNS查询(通过主机名获取IP)(即状态机,而不是1个查询= 1个线程 – 我想同时运行数万个查询,但是没有运行成千上万的线程)? 到目前为止我发现了什么: 标准InetAddress.getByName()实现是阻塞的,看起来像标准Java库缺少任何非阻塞实现。 在批量问题中解决DNS讨论了类似的问题,但找到的唯一解决方案是multithreading方法(即一个线程在每个给定时刻只处理1个查询),这不是真正可扩展的。 dnsjava库也只是阻止。 dnsjava有一些古老的非阻塞扩展,可以追溯到2006年,因此缺少任何现代Java并发内容,例如Future范例使用,以及非常有限的仅队列实现。 dnsjnio项目也是dnsjava的扩展,但它也适用于线程模型(即1个查询= 1个线程)。 asyncorg似乎是我迄今为止针对此问题找到的最佳解决方案,但是: 它也是从2007年开始,看起来已经废弃了 几乎没有任何文档/ javadoc 使用许多非标准技术,如Fun类 我错过了任何其他想法/实施? 澄清 。 我有一个相当大(每天几TB)的日志量。 每个日志行都有一个主机名,可以来自互联网上的任何地方,我需要一个IP地址作为我的进一步统计计算的主机名。 行的顺序并不重要,所以,基本上,我的想法是开始2个线程:首先迭代线: 读一行,解析它,获取主机名 发送查询到DNS服务器以解析给定的主机名,不要阻止回答 将行和DNS查询套接字句柄存储在内存中的某个缓冲区中 转到下一行 第二个线程将: 等待DNS服务器回答任何查询(使用epoll / kqueue技术) 阅读答案,找到缓冲区中的哪一行 将已解析IP的行写入输出 继续等待下一个答案 Perl中使用AnyEvent简单模型实现向我展示了我的想法通常是正确的,我可以通过这种方式轻松实现每秒15-20K查询的速度(天真的阻塞实现每秒2-3次查询 – 只是为了比较 -这就像4个数量级的差异)。 现在我需要在Java中实现相同的 – 我想跳过我自己的DNS实现;)