python WSGIweb-appのリバースプロキシとしてNginxを使用しています。
次のようになります。
location / {
#auth_basic "Administrator Login";
#auth_basic_user_file /var/www/static/.htpasswd;
proxy_pass http://mywebapp_gunicorn;
proxy_redirect off;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Webアプリケーション内には、非常に保護したい管理者ページがいくつかあるので、Webアプリケーション内でいくつかの認証を使用してそれらを保護しています。また、Nginx認証も追加したいと思います。
アクティベートする方法:
auth_basic "Administrator Login";
auth_basic_user_file /var/www/static/.htpasswd;
パスの場合:/managers
ですが、他のすべてのURLではありません。
保護したいURLに一致させるために、別のロケーションブロックを追加する必要があります前現在持っているもの。
location /managers {
auth_basic "Administrator Login";
auth_basic_user_file /var/www/static/.htpasswd;
proxy_pass http://mywebapp_gunicorn;
proxy_redirect off;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
proxy_pass http://mywebapp_gunicorn;
proxy_redirect off;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
/
の前にあるため、パス/ managersに優先的に使用されます。