ssl - 如何在 XAMPP (windows) 中使用公共(public) IP 地址配置自签名 ssl?

标签 ssl openssl self-signed

我正在尝试为我的其中一台服务器配置自签名 ssl 证书。我有 3 个服务器。我为所有三台服务器使用 1 个公共(public) ip。为此,我正在使用端口转发。我知道通过使用 openssl 我可以为本地主机(专用网络)配置一个自签名的 ssl。我有以下关于我的问题的问题。我在 Windows 服务器中使用 xampp。

  1. 是否可以为带有端口的公共(public) ip 地址配置自签名 ssl 证书?如果是 那我该怎么做呢?

我看过一些配置自签名证书的教程,但它们都是针对私有(private) ip 的。

最佳答案

Meta:这真的是一个操作问题,不是编程或开发,而且是 SO 的题外话

HTTPS 服务器(如 Apache)必须使用包含名称的证书用于访问它,即在客户端使用的 URL 中,不包括任何端口规范。这可以是域名或 IP 地址(任何类型:v4 或 v6,公共(public)或私有(private),只要使用来自客户端的地址到达正确的服务器)。这意味着如果您愿意,位于同一地址不同端口的多个服务器可以使用相同的证书,但如果您愿意,它们也可以不同。

公共(public) CA 只会颁发包含您可以证明自己拥有的域名或地址的证书,这仅适用于公共(public) DNS 中的完全合格域名或一个“永久”公共(public)地址,但对于您自己创建的证书,该限制不适用。

自世纪之交以来,您应该使用主题备用名称 (SAN) 扩展,而不仅仅是主题中的 CommonName 属性,因为您可能会在许多复制过时或不正确信息的网站和博客中找到它。如果需要,SAN 可以指定多个名称,但请注意其中的每一项都明确指定了 DNS 或 IP 地址;一定要使用正确的。多年来,所有流行的软件都支持 SAN,但到目前为止只有 Chrome(ium) 需要它。 OpenSSL 可以使用像 SAN 这样的扩展来创建证书,但不是使用最简单的方法,这种方法在过时或错误的网站中非常流行,即 req -new 后跟基本 x509 -请求。见:

https://security.stackexchange.com/questions/150078/missing-x509-extensions-with-an-openssl-generated-certificate
https://unix.stackexchange.com/questions/371997/creating-a-local-ssl-certificate
https://unix.stackexchange.com/questions/393601/local-ssl-certificates-in-chrome-ium-63

PS:Windows 是无关紧要的,除了你可能需要安装 OpenSSL 而在许多 Unices 上它已经默认存在

关于ssl - 如何在 XAMPP (windows) 中使用公共(public) IP 地址配置自签名 ssl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59662722/

相关文章:

php - 使用VB.net解密AES256加密字符串

android - 读入 Android 应用程序的 PKCS12/P12 客户端证书文件

git - 如何让 git 接受自签名证书?

iphone - Apple 会批准使用自签名证书通过 HTTPS 进行通信的应用程序吗?

apache - 使用虚拟主机时如何在 XAMPP 中使用 https (SSL)

ssl - ASIHTTPRequest 检索服务器证书

openssl - 为 Raspberry Pi 2 交叉编译 rust-openssl

php - Zend GData Contacts PHP,添加联系人 SSL 错误

c# - FTPS (SSL) 的证书验证/安装?

ruby-on-rails - jruby-openssl 中已经初始化的常量