Apache-2.2
Apache ~ 如何強制特定 IP 的 SSL 客戶端身份驗證
無法弄清楚如何輕鬆管理對我的 SSL 網站的訪問。
我正在嘗試允許基於客戶端 IP 訪問特定位置。
如果客戶端 IP = 192.168.xx => 繞過客戶端證書身份驗證如果客戶端 IP !=192.168.xx => 請求客戶端證書身份驗證。
我嘗試了幾種方法(URL重寫,Vhost,Allow,deny,satisfay ….沒有成功..)
我的 SSL 客戶端驗證工作正常,我只是堅持這個基本的“如果”請求。我正在執行 Apache 2.12。
我已經嘗試實現http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html(如何要求具有強密碼和基本身份驗證或客戶端證書的 HTTPS 以訪問 Intranet 網站上的子區域對於來自 Internet 但仍允許對 Intranet 上的客戶端進行純 HTTP 訪問的客戶端?)但它不起作用..
非常令人沮喪,因為這正是我正在尋找的;)(除了 authtype basic)
謝謝
<Location /folder> SSLVerifyClient require SSLOptions +StrictRequire SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 Satisfy Any Order deny,allow Deny from all Allow from 192.168.x.x </Location>
好的,看起來在 Apache < 2.3 上不可能做到這一點
我已經更新到 Apache 2.4 並添加了“if”指令:
<If "%{REMOTE_ADDR} == 'xx.xx.xx.xx"> SSLVerifyClient require SSLOptions +StrictRequire SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 </If>
如果你想強制使用網路,只需像這樣使用正則表達式:
<If "%{REMOTE_ADDR} !~ /^regex$ SSLVerifyClient require SSLVerifyDepth 2 </If>