使用基本身份验证的 S3 和 apache mod_proxy
S3 and apache mod_proxy with basic authentication
我想通过 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>
顺便说一下,同样的 "FileMatch" 用于另一个 VirtualHost 并正常工作....
apache 信息:
$ httpd -v
Server version: Apache/2.4.12 (Amazon)
Server built: Mar 18 2015 20:24:15
谢谢
仅匹配物理文件系统中的文件,而不是您可能认为是文件名的 URL 的最后一个组成部分。由于您正在代理,因此没有 URL 映射到文件系统。
试试
需要更多清理工作:
- 明确设置"Satisfy Any"
- 将 "Order deny,allow" 更改为 "Order allow,deny"
(这意味着默认拒绝)
- 删除 "Deny"(不再需要,简化了 Allow from env=... 的订购问题)
我想通过 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>
顺便说一下,同样的 "FileMatch" 用于另一个 VirtualHost 并正常工作....
apache 信息:
$ httpd -v
Server version: Apache/2.4.12 (Amazon)
Server built: Mar 18 2015 20:24:15
谢谢
试试
需要更多清理工作:
- 明确设置"Satisfy Any"
- 将 "Order deny,allow" 更改为 "Order allow,deny" (这意味着默认拒绝)
- 删除 "Deny"(不再需要,简化了 Allow from env=... 的订购问题)