Лучшая практика для обработки сервера по умолчанию и переадресации IP-адресов в nginx

Недавно я создал сервер 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-адрес не должен принимать никаких подключений напрямую и обрабатывать их.


person Ajay Singh    schedule 02.05.2017    source источник


Ответы (1)


Конфигурация по умолчанию явно не предлагает SSL. Как правило, вам необходимо установить SSL-сертификат. Есть много учебников по этому поводу. Точка входа на ваши веб-страницы зависит от вас. Вы задаете разные вопросы в одном и том же сообщении.

Очевидно, что вы можете найти ответы здесь и в других местах, выполнив поиск.

person Patrick    schedule 03.05.2017