Это может быть действительно глупый вопрос, но я должен был убедиться, что меня это устраивает .
Я настраиваю сервер HTTPS с базовой аутентификацией, но браузер сообщает мне, что соединение не защищено, когда я подключаюсь к странице аутентификации, и сообщает мне, что соединение защищено после входа в систему. Я хочу знать, действительно ли это безопасно, а если нет, как я могу защитить его?
Конфигурация (NGINX):
server {
listen 80;
server_name sub.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name sub.example.com;
ssl_ceerificate (certpath);
ssl_certificate_key (certkeypath);
ssl_trusted_certificate (anotherpath);
ssl_dhparam (dhparam);
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA25$
ssl_ecdh_curve secp384r1;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block"
location / {
auth_basic 'Nothing to see here';
proxy_pass http://localhost:4000/;
}
}
Ваша конфигурация в порядке; это браузер плохо себя ведет.
Ваш сайт корректно перенаправлялся на https, и базовый запрос авторизации был отправлен вам через https. Но браузер не обновлял адресную строку перед появлением диалогового окна. Интересно, что я смог увидеть такое поведение как в Chrome, так и в Firefox. Возможно, это связано с тем, что браузер запросил учетные данные до того, как (с его точки зрения) загрузка страницы была завершена? Это вопрос к разработчикам браузера.