S3和apache mod_proxy具有基本身份验证

时间:2015-08-03 05:30:36

标签: apache amazon-web-services amazon-s3 basic-authentication mod-proxy

我希望使用apache mod_proxy对我的一些文件(apk文件)进行基本身份验证,重定向到SSL中的S3存储桶。 SSL和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>

顺便说一句,同样的&#34; FileMatch&#34;用于另一个VirtualHost并正常工作....

apache info:

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

谢谢

1 个答案:

答案 0 :(得分:1)

&LT; FilesMatch&GT;仅匹配物理文件系统中的文件,而不是您可能认为是文件名的URL的最后一个组件。由于您是代理,因此没有URL映射到文件系统。

尝试&lt; LocationMatch&gt;

需要更多清理工作:

  • 明确设置&#34;满足任何&#34;
  • 更改&#34;订单拒绝,允许&#34;到&#34;订单允许,拒绝&#34; (这意味着默认拒绝)
  • 删除&#34;拒绝&#34; (不再需要,简化了env = ...中的Allow的订购问题)