Недавно я создал сервер nginx на Debian 8. Он получил конфигурацию по умолчанию в /etc/nginx/sites-available/default, которая перенаправляет на страницу приветствия nginx.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name your_server_ip;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Я добавил новую производственную страницу, скажем, «example.com» с ssl.
В конфиге для ../example.com он не указан как сервер по умолчанию.
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl;
listen [::]:443 ssl;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
....
Теперь, когда я проверил безопасность ssl на https://www.ssllabs.com/ssltest/analyze.html?d=example.com, он получил пятерку с плюсом. Но он прокомментировал «Несовместимая конфигурация сервера».
И когда я загружаю IP-адрес, скажем, x.x.x.x в браузере как https://x.x.x.x, он загружает ту же страницу, что и https://example.com, но без ssl (зеленая адресная строка). Если я загружаю http://x.x.x.x, загружается страница приветствия nginx по умолчанию.
Я попытался установить конфигурацию по умолчанию (для ip), чтобы получить запрещенное сообщение, я добавил следующий код
location / {
deny all;
}
Теперь, когда я тестирую безопасность ssl на сайте example.com, он говорит: «Безопасные протоколы не поддерживаются», и результаты теста не появляются.
Итак, мои вопросы,
Что нужно сделать с конфигурацией по умолчанию, которая поставляется с nginx, которая загружается для IP-адреса?
какое имя_сервера (файл конфигурации) следует установить в качестве сервера по умолчанию в команде «прослушать»?
что делать с ip, который в данный момент перенаправляет https-запросы на примерный домен?
Предполагаемые результаты: -
https://example.com следует использовать только для подключения к серверу, а при загрузке IP-адреса может отображаться сообщение "страница не найдена". ' или 'запрещено', так как example.com будет использоваться для php-скриптов на нем.
Тесты SSL должны давать как минимум оценку A после заданной конфигурации.
IP-адрес не должен принимать никаких подключений напрямую и обрабатывать их.