Joh*_*ohn 5 ssl certificate apache-2.2
我需要允许在没有来自我的办公室网络的 SSL 证书和外部有 SSL 证书的情况下访问我的网站。
这是我的配置:
<Directory /srv/www>
AllowOverride All
Order deny,allow
Deny from all
# office network static IP
Allow from xxx.xxx.xxx.xxx
SSLVerifyClient require
SSLOptions +FakeBasicAuth
AuthName "My secure area"
AuthType Basic
AuthUserFile /etc/httpd/ssl/index
Require valid-user
Satisfy Any
</Directory>
Run Code Online (Sandbox Code Playgroud)
当我在网络内部并拥有证书时 - 我可以访问。当我在网络内部并且没有证书时 - 我无法访问,它需要证书。
当我在网络外并且有证书时 - 我无法访问,它会显示我的基本登录屏幕 当我在网络外并且没有证书时 - 我无法访问,它会显示我基本登录屏幕
和以下配置完美地工作
<Directory /srv/www>
AllowOverride All
Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx
AuthUserFile /srv/www/htpasswd
AuthName "Restricted Access"
AuthType Basic
Require valid-user
Satisfy Any
</Directory>
Run Code Online (Sandbox Code Playgroud)
Joh*_*ohn 11
这是我如何实现的(xxx.xxx.xxx.xxx - 允许在没有证书的情况下访问此地址):
SSLVerifyClient optional
SSLOptions -FakeBasicAuth +StrictRequire -StdEnvVars -ExportCertData
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
RewriteEngine on
RewriteCond %{SSL:SSL_CLIENT_VERIFY} !^SUCCESS$
RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxx.xxx$
RewriteRule ^ - [F]
Run Code Online (Sandbox Code Playgroud)
请注意, SSLVerifyClient 不应位于目录上下文中:
在每个目录上下文中,它会在读取 HTTP 请求之后但在发送 HTTP 响应之前强制使用重新配置的客户端验证级别进行 SSL 重新协商。
归档时间: |
|
查看次数: |
5680 次 |
最近记录: |