我一直在想办法进一步锁定我们的开发站点,然后想到了一个主意,那就是不要使用 IP 中心 + 密码保护,而是使用更类似于 PEM 密钥的东西,就像我用于 ssh 进入服务器一样。我很好奇这是否可行,以及如何设置它。我查看了 Apache AuthType 文档,发现它除了支持 Basic 之外还支持多种功能,例如 Digest 和 Form,我很好奇我是否可以利用其中任何一个,或者可能还有其他东西,以便我们的服务器端口 80 和 443 仅在出示证书时可见?
答案1
你要的是可能的。但是,由于中缺少starttls
/命令,因此它仅适用于。非证书 ssh-keys 不适用于此目的。stls
http
https
客户端需要将证书(和私钥)安装在浏览器中。
除了 https 侦听器的其他标准指令外,服务器还需要包含以下指令。
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile path/to/a/trusted/CA.crt
答案2
如果您的网站使用 SSL,则可以选择使用客户端证书来授权用户。
该方法的工作方式如下:
您将 Apache 配置为使用客户端证书身份验证
创建 CA 来生成并签署证书
为所有用户生成并签署认证
配置目录以使用 SSLVerifyClient 指令
有一份非常好的详细指南这里。