Есть два серверных блока.
default_server
блок внутри http
блок nginx.conf
:
server { server_name _; listen 80 default_server; listen [::]:80 default_server ipv6only=on; listen 443 default_server; return 404; } include /etc/nginx/sites-enabled/*;
sites-enabled
:server { listen 80; listen 443; server_name example.com; return 301 https://www.$server_name$request_uri; } server { listen 80; listen 443 ssl; root /var/www/example.com/htdocs/; index index.html index.htm; server_name www.example.com; }
(У меня есть эта настройка для перенаправления всех не www на www и всего http на https)
У меня есть сертификат для моего домена как без www, так и с www. Nginx по какой-то причине вызывает любой поддомен вместо того, чтобы указать, что веб-сайт по умолчанию не может быть найден /ERR_CONNECTION_RESET/
ошибка.
Например, если я пойду в https://asdf.example.com/
Nginx вызывает его, и браузер сообщает вам, что это небезопасный сертификат SSL, затем вы все равно принимаете его и получаете страницу 404.
Как перейти на страницу 404, пропустив сообщение о недопустимом сертификате, или как перейти прямо к странице «страница не найдена», а не к 404? Например. как пойти в https://asdf.serverfault.com
он не дает 404, он дает ERR_CONNECTION_RESET/
. Я хочу, чтобы это было для всех несуществующих поддоменов и доменов на моем сервере.
Обновить: Может быть, все мои ssl_certificate
строки добавляются и в основной блок http? Если да, то вызов по ERR_CONNECTION_RESET
а не 404, как в данном примере на 6.
.
Если вы откроете https://asdf.example.com непосредственно тогда браузер разрешит asdf.example.com
на IP-адрес, а затем подключитесь к нему, используя HTTPS
протокол. Если сервер (с полученным IP) прослушивает 443
порт и не возвращает сертификат для этого домена или недействителен, чем браузер предупредит вас о небезопасном протоколе перед завершением запроса (например, отображение 404
ошибка).
https://asdf.serverfault.com выдает ошибку подключения, потому что этот поддомен не зарегистрирован, у него нет IP-адреса. Вот почему вы видите эту ошибку. Если ты хочешь убедиться asdf.example.com
возвращает ошибку подключения вместо предупреждения ssl, затем убедитесь, что этот поддомен не зарегистрирован и нет записи с подстановочным знаком (*) для example.com
.