Rails + Passenger + Apache で一部のURLのみBasic認証をはずす
以下の3つの設定で可能。
- SetEnvIf で特定のURLに、例えば noauth=1 という環境変数を割り当てる。
- Allow from env=noauth
- Satisfy any
<VirtualHost *:80>
ServerName example.com
DocumentRoot /proj/example.com/current/public
RailsEnv production
SetEnvIf Request_URI ^/$ noauth=1
SetEnvIf Request_URI ^/some-assets/ noauth=1
<Location />
Options -MultiViews
Order Deny,Allow
Deny from all
Satisfy any
Allow from env=noauth
AuthUserFile /etc/httpd/etc/passwd
AuthName "admin"
AuthType Basic
Require valid-user
</Location>
...