Я создал веб-сайт с next.js, и после развертывания на моем собственном тестовом сервере все работало так, как ожидалось. Поскольку есть и область администрирования, я сделал конфигурацию для защиты /admin
url
с использованием базовой аутентификации nginx. Вот мои шаги:
- Сначала я установил
apache2-utils
, используяsudo apt-get install apache2-utils
наUbuntu 18.04
- Я создал свои учетные данные, выполнив:
htpasswd /etc/nginx/.htpasswd myusername
. После щелчка поenter
я предоставилpassword
- Я попытался просмотреть содержимое файла, и все было хорошо, потому что я видел
usename:hashedpassword
Я сделал следующую конфигурацию в
nginx
location /admin { auth_basic "Zone protege"; auth_basic_user_file /etc/nginx/.htpasswd; }
Вот моя полная конфигурация для этого приложения, но я скрыл другие детали конфигурации (TLS, перенаправление http и т. Д.):
server {
server_name mydomainename.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /admin {
auth_basic "Zone protege";
auth_basic_user_file /etc/nginx/.htpasswd;
try_files $uri $uri/ =404;
}
}
Когда я пытаюсь получить доступ к защищенной странице, я получаю следующее:
Когда я нажимаю неверные учетные данные, я не получаю страницу запроса, как ожидалось.
Поэтому, когда я нажимаю ожидаемые учетные данные, я получаю 404
:
Я уже читал следующие решения: NGINX auth_basic выдает мне сообщение "404 не найден" ... NGINX htpasswd 404 не найден
Также пробовали другие решения, даже если они не помечены как решающие проблему.
nc -l -p 3001
для исходного netcat Хоббита илиnc -l 3001
для netcat BSD / MacOS (по крайней мере, это распространенные реализации), затем войдите в firefox, что вы получите на сервере netcat? - person hanshenrik   schedule 01.05.2020