Возможно, это действительно глупый вопрос, но мне нужно было убедиться, что меня это устраивает.
Я настроил 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/;
}
}
решение1
Ваша конфигурация выглядит нормально; проблема в браузере.
Ваш сайт правильно перенаправился на https, и базовый запрос аутентификации был отправлен вам по https. Но браузер не обновил адресную строку перед тем, как открыть диалоговое окно. Интересно, что я смог увидеть это поведение и в Chrome, и в Firefox. Возможно, это связано с тем, что браузер запросил учетные данные до того, как (с его точки зрения) загрузка страницы была завершена? Это вопрос к разработчикам браузера.