我有一个不同寻常的用例:
http(s)://192.168.0.1上访问。
附带问题:由于设备是本地连接到PC的,加密是非常无用的:是否存在允许不安全连接到特定URL的http报头?(就像用于跨域的CORS )
主要问题:是否可以获得私人IP地址的证书?
编辑:看起来Plex也有类似的问题,并以这个博客描述的方式解决了它。这对我来说太大了。
发布于 2016-07-01 06:42:37
是否有可能获得私人IP地址的证书?
证书可以绑定到IP地址(请参阅这)。您可以向私人地址颁发自签名证书,但受信任的CA不会向私人地址颁发证书,因为它无法验证其身份。
例如,颁发给192.168.0.1的证书理论上在任何上下文中都是有效的,受信任的CA不应该允许这样做。
Plex解决了动态DNS和通配符证书的问题。连接是使用设备的名称(而不是IP)完成的,该设备被解析为私有IP。
是否存在允许与特定URL的不安全连接的http标头?(就像用于跨域的CORS )
不,它不存在。浏览器阻塞XHR连接,因为它们是从HTTPS页面启动的HTTP连接(混合内容警告)。理论上,非安全内容可以由攻击者读取或修改,即使父页面是通过HTTPs服务的,因此也是正常的,因此建议浏览器警告用户。
要修复混合内容和https错误,可以通过HTTPS和自签名证书提供内容,并请求用户在浏览器中导入根CA。
发布于 2020-10-05 18:47:00
不能为保留的IP地址(RFC 1918和RFC 4193范围)/私有IP地址(IPv4、IPv6)、内部服务器名称的内联网、带有非公共域名后缀的本地服务器名称颁发SSL证书。
不过,您可以使用“自签名”证书。下面是如何创建一个:
为私有IP创建自签名证书(例如https://192.168.0.1):
sudo apt-get install openssl安装它(它可能已经安装了)。输入"openssl版本“以查找)在Windows中,您可以尝试以下内容:https://slproweb.com/products/Win32OpenSSL.html( i)创建名为mydomain.key的密钥:
OpenSSL> genrsa -out mydomain.key 2048使用密钥创建一个名为mydomain.csr的证书请求--您可以接受默认选项,或者指定您自己的信息:
OpenSSL> req -new -key mydomain.key -out mydomain.csr(3)使用上述方法创建证书:
OpenSSL> x509 -req -days 1825 -in mydomain.csr -signkey mydomain.key -out mydomain.crt4)将以上所有内容用于创建PEM证书:退出OpenSSL (OpenSSL> q)并转到证书位置并执行:
$ sudo cat mydomain.key mydomain.crt >> mylabs.com.pemmylabs.com.pem是您的自签名证书.如果您的服务器支持https,您可以在像https://192.168.0.1这样的请求中使用这一点。记住检查https(443)的端口号。
https://stackoverflow.com/questions/38125490
复制相似问题