Apache SSL如何要求浏览者必须安装server.csr才能继续浏览网站?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache SSL如何要求浏览者必须安装server.csr才能继续浏览网站?相关的知识,希望对你有一定的参考价值。

server.csr即为使用openssl是生成的证书
还有,用户必须以ssl方式浏览网站

参考技术A 就可以得到一个VirtualHost并进行配置:
<VirtualHost *:7001>
ServerAdmin name@yourdomain.com
SSLEngine on
SSLCertificateFile /home/sempla1/ssl/server-cert.pem
SSLCertificateKeyFile /home/sempla1/ssl/private/server-key.pem

SSLVerifyClient require
SSLVerifyDepth 10
SSLCACertificateFile /home/sempla1/ssl/cacert.pem
<location />
Order allow,deny
allow from all
SSLRequire (%SSL_CLIENT_S_DN_CN eq "clientcn")
</location>
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

单向(标准)SSL 身份验证配置:
SSLEngine on -> 启用单向 SSL 身份验证
SSLCertificateFile -> 指定 WebServer 将向用户显示的公共证书
SSLCertificateKeyFIle -> 指定将用于加密发送的数据的私钥
双向 SSL 身份验证配置:
SSLVerifyClient -> 开启双向SSL认证
SSLVerifyDepth -> 指定证书是否具有已批准的 CA 的检查深度
SSLCACertificateFile -> 将用于解密收到的数据的公钥
SSLRequire -> 只允许满足表达式的请求

好的,现在您已准备好在浏览器中测试双向 SSL 身份验证:安装客户端证书(.p12 文件)并在受信任的 CA 中添加 CA(以避免在不安全的 https 连接时发出警报)。
参考技术B 用openssl生成的证书,需要安装的是根证书。server.csr是证书请求文件,一段记事本内容,无法安装的。不过这样的证书浏览器默认是不受信任的。不知道你是用在内网还是公网。

需要在配置文件里修改配置参数,就可以用https访问了
参考技术C 我想说下就是.csr格式应该是属于pkcs#10格式的证书文件,只作为证书请求文件,不会被用作任何其他用途,包括你想要的客户端证书使用。你需要的应该是一个Cer/ctr的文件,可以在apache中开启双向认证的这种模式,从而来使拥有这个证书的客户端能够访问你的网站,当然这个访问模式肯定是SSL的。本回答被提问者和网友采纳

以上是关于Apache SSL如何要求浏览者必须安装server.csr才能继续浏览网站?的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu下为Apache简单配置SSL的方法(HTTPS的实现)

如何在apache上安装SSL证书

charles3.11.2需要怎么安装ssl证书

Linux+Apache下如何安装SSL证书

阿里云 Ubuntu16.04 apache2 ssl证书下载与安装(必须有域名)

serv-u 多域配置