2014-11-26 5 views
0

저는 아파치 2.2를 여러 해 동안 사용해 왔습니다. 2.4를 처음 사용할 때입니다. 어느 것이 두통을 주는지.SSL-Auth vhost의 아파치 2.4 403 오류

내 상사가 내부 CA를 사용하여 SSL 인증 시스템을 설정하도록 요청했습니다. 이제 문제는 vhosts 및 auth 메커니즘이 작동하는 것으로 보이지만 SSL Auth 가상 호스트의 모든 URL은 403 오류를 다시 처리합니다. 이제 vhost에 'Require all granted'지시어를 추가 했으므로 아파치 로그에 권한 오류가 발생하지 않습니다. 그래서 나는 여기서 내 리그를 벗어났다.

누군가 내가 누락 된 부분을 볼 수 있습니다. :)? 아래는 CONFIGS (7 CentOS는 아파치 2.4 실행 SELinux는 테스트 목적 비활성화)

conf.d/vhost.conf

<Directory "/var/www/auth.internal.corp"> 
       Order allow,deny 
       Allow from all 
       Require all granted 
     </Directory> 


<VirtualHost *:443> 
     DocumentRoot     "/var/www/auth.internal.corp" 
     ServerAdmin      [email protected] 
     SSLCACertificateFile   /etc/pki/CA/cacert.pem 
     SSLCertificateFile    ssl/auth.internal.corp.crt.pem 
     SSLCertificateKeyFile   ssl/auth.internal.corp.key.pem 
     SSLCARevocationCheck   chain 
     SSLCARevocationFile    /etc/pki/CA/crl/crl.pem 
     SSLEngine      on 
     SSLStrictSNIVHostCheck   on 
     SSLVerifyClient     require 
     SSLVerifyDepth     5 
     ServerName      auth.internal.corp 
     RewriteEngine     on 
     RewriteCond      %{REMOTE_ADDR} !^127\.0\.0\.1$ 
     RewriteCond      ${HTTPS} !=on 
     RewriteRule      . - [F] 
     ErrorLog      logs/auth.error.log 
     CustomLog      logs/auth.access.log common 

     <Directory "/var/www/auth.internal.corp/protected"> 
       Require     ssl 
       Require     ssl-verify-client 
       SSLRequireSSL 
       SSLOptions    +FakeBasicAuth +StrictRequire 
       SSLRequire    %{SSL_CIPHER_USEKEYSIZE} >= 256 
       SSLRequire    %{SSL_CLIENT_S_DN_O} eq "Internal Corp CA" \ 
            and %{SSL_CLIENT_S_DN_OU} eq "Corporate Certification Authority" \ 
            and %{SSL_CLIENT_S_DN_CN} in {"John Doe", "Jane Doe"} 
       SSLRenegBufferSize  131072 
     </Directory> 
</VirtualHost> 

ServerRoot "/etc/httpd 
Listen 80 
Listen 443 https 
Include conf.modules.d/*.conf 
User apache 
Group apache" 
<Directory /> 
    AllowOverride none 
    Require all denied 
</Directory> 

<Directory "/var/www"> 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
    # Allow open access: 
    Require all granted 
</Directory> 

<Directory "/var/www/auth.internal.corp"> 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Require all granted 
</Directory> 

<Files ".ht*"> 
    Require all denied 
</Files> 
ErrorLog "logs/error_log" 
LogLevel warn 

<Directory "/var/www/cgi-bin"> 
    AllowOverride None 
    Options None 
    Require all granted 
</Directory> 
IncludeOptional conf.d/*.conf 
/conf/httpd.conf

답변

0

해결책을 찾았습니다. 다시 쓰기 규칙이 잘못되었습니다.

RewriteCond      ${HTTPS} !=on 

RewriteCond      %{HTTPS} !=on 

를 있었어야