我创建了一些带有此CN=localhost
自签名证书的HTTPS服务器。但是当我启动客户端时,它会告诉我一些Bind-Exception:
socket::connect fails with error code = 10049
我使用CN=hostname
创建了一个新证书,我发现了(以及计算机名称),其中包含以下行:
hostname = InetAddress.getLocalHost());
但这种方式对我来说并不实用。我想创建一个带有example.com
等URL的证书,并希望多次使用此证书。所以我有以下想法:我在/ etc / hosts文件中添加了一些url:
127.0.0.1 example.com
然后我使用网址example.com
。
有没有办法改变InetAddress.getLocalhost?或者是否有可能使用某个客户IP地址订单主机名?
我用过:
InetSocketAddress address = new InetSocketAddress("test.com",9999);
创建客户地址,但这没有解决Bind-Exception。
有人有任何想法吗?
答案 0 :(得分:0)
当无法使用主机名到主机名映射时,让我们创建带有IP地址的证书,然后将n
个主机名数量映射到相同的IP地址。
使用CN=127.0.0.1
或CN=<LOCAL_IP_ADDRESS>
创建证书,然后通过hosts文件将其解析为example.com
,然后尝试使用InetSocketAddress address = new InetSocketAddress("example.com",9999);