Я хочу установить платформу Magento на сервере. Я использую Centos и nginx и хочу перенаправить все http-соединения на https, которые я уже установил в nginx domain.conf, http https-перенаправление, и это работает нормально, но как я могу быть уверен, что все соединения защищены. Я спрашиваю, потому что, если я использую также HSTS, самым первым запросом может быть http.
Обзор моего файла example.org.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.org www.example.org;
return 301 https://$server_name$request_uri;
}
server {
#listen 80 reuseport;
#listen 443 http2 ssl reuseport;
listen 443 ssl;
#listen 80;
...
...
}
Итак, еще раз, как я могу быть уверен, что все соединения защищены? Вторая причина, по которой я спрашиваю, заключается в том, что я заметил, что если я открываю домен на смартфоне с низкой скоростью мобильных данных, он начинается с небезопасного URL-адреса на секунду, или я просто ошибаюсь?
Надеюсь, ты дашь мне совет
Без HSTS вы не можете предотвратить, что первое соединение, инициированное клиентом, будет использовать HTTP вместо HTTPS, так как вы не можете контролировать, какой протокол запрашивает пользователь. Редирект становится активным только после первого запроса.
С HSTS ситуация сложнее:
Как обеспечить безопасность всех подключений
Ответ: Вы постоянно перенаправляете все соединения 301 https, поэтому нет никаких шансов, что ваш сервер примет незащищенное соединение.
Вы можете проанализировать журнал Nginx Access, чтобы понять, сколько запросов перенаправляет с HTTP на https.
В вашей конфигурации необходимо изменить некоторые вещи в соответствии с рекомендациями Nginx.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.org www.example.org;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name example.org www.example.org;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}