0

Я хотел бы перенаправить на свой ведро S3 в SSL с базовой аутентификацией для некоторых моих файлов (файлов apk) с помощью apache mod_proxy. SSL и mod_proxy отлично работают, но основная аутентификация игнорируется.S3 и apache mod_proxy с базовой аутентификацией

<VirtualHost *:443> 
     ServerName resources.mydomain.jp 

     <FilesMatch "\.apk$"> 
      Order deny,allow 
      SetEnvIf User-Agent ".*Android.*" allow_ag 
      Options FollowSymLinks 
      Allow from env=allow_ag 
      Deny from all 
      AuthType Basic 
      AuthName "Secret Zone" 
      AuthUserFile /etc/httpd/.htpasswd 
      Require user xxx_customer 
     </FilesMatch> 


     SSLEngine on 
     SSLProxyEngine on 
     SSLProtocol -ALL +SSLv3 +TLSv1 
     SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP 
     SSLCertificateFile conf.d/xxx.cer 
     SSLCertificateKeyFile conf.d/xxx.key 
     SSLCACertificateFile conf.d/xxx.cer 

     ProxyPass/http://resources.mydomain.jp.s3-website-ap-zone-1.amazonaws.com/ 
     ProxyPassReverse/http://resources.mydomain.jp.s3-website-ap-zone-1.amazonaws.com/ 

    </VirtualHost> 

Кстати, то же самое "FileMatch" используется для другого VirtualHost и работает нормально ....

апач информация:

$ httpd -v 
Server version: Apache/2.4.12 (Amazon) 
Server built: Mar 18 2015 20:24:15 

Спасибо

ответ

1

<FilesMatch> соответствует только файлам в физической файловой системе, а не последнему компоненту URL-адреса, который вы можете назвать файлом. Поскольку вы проксимируете, никакие URL-адреса не сопоставляются с файловой системой.

Try <LocationMatch>

еще несколько уборок необходимо:

  • явно установить "Удовлетворить Любой"
  • Change "Заказ отрицать, позволяют" в "Заказ разрешить, запретить" (это означает, запретить по умолчанию)
  • Удалить «Запретить» (больше не требуется, упрощает вопросы порядка с Разрешить от env = ...)
+0

Спасибо. Я пробовал использовать «» (для всех файлов apk), но ошибка сохраняется (файл загружается с s3 без базовой проверки подлинности). Есть идеи? – johann

+0

Привет, Иоганн, пожалуйста, см. Совет в отредактированном ответе, я думаю, что я заметил еще одну тонкую проблему с директивным заказом. – covener

+0

Спасибо. Почему «удовлетворить любой», а не «удовлетворить все»? – johann

Смежные вопросы