Я новичок в Nginx и EC2 и пытаюсь добавить простую аутентификацию, как показано ниже. Это одностраничное приложение, и я хочу защитить доступ к странице, но не к серверу плиток. Без аутентификации все работает хорошо. С аутентификацией, как показано ниже, я получаю сообщение об ошибке:
http://map.domain.org.uk is requesting your username and password. The site says: “GeoServer Realm”
Я думаю, это потому, что я установил аутентификацию для любого местоположения, и плитки находятся под ним. Как бы я настроить, чтобы просто требовать аутентификации для эквивалента целевой страницы?
server {
listen 80;
listen [::]:80;
root /var/www/domain.org.uk/public_html;
index index.html;
server_name domain.org.uk www.domain.org.uk map.domain.org.uk;
access_log /var/log/nginx/domain.org.uk.access.log;
error_log /var/log/nginx/domain.org.uk.error.log;
# auth_basic "Server level Password required to proceed";
# auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
location /geoserver/gwc/service/wmts {
auth_basic off;
#also tested without auth_basic off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/geoserver/gwc/service/wmts;
}
location / {
try_files $uri $uri/ =404;
auth_basic "Location level Password required to proceed";
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
}
}