2

Я обслуживаю 2 общедоступных сайта на Pi из своей домашней сети, используя nginx на Ubuntu Server. Мои домены указывают на мою учетную запись no-ip; оба домена работают отлично. Тем не менее, переход на мой IP-адрес возвращает один из моих сайтов, разрешение которого я определяю только по его доменному имени. Как заставить мой IP либо обслуживать ошибку Not Found, либо указывать на другой сайт?

Причина, по которой я хочу, чтобы мой веб-сайт отображался на моем IP-адресе, заключается в том, что, поскольку мой сайт работает только по протоколу HTTPS, с протоколом HTTP 301 отображается небезопасное соединение. Я бы предпочел, чтобы там вообще ничего не было.

РЕДАКТИРОВАТЬ:../sites-available/sitename

server {
    listen 443 ssl;

    root /var/www/****/www;
    index index.html index.php;

    server_name ****.ddns.net;
    server_name ****.**;
    server_name www.****.**;
    server_name ***.****.**;

    error_page 403 /403.html; 
    error_page 404 /404.html;
    error_page 500 502 503 504 /500.html;

    ssl_certificate /etc/letsencrypt/live/www.****.**/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.****.**/privkey.pem;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

server {
    listen 80;
    server_name www.****.**;
    server_name ****.**;
    server_name ***.****.**;
    return 301 https://$host$request_uri;
}

1 ответ1

2

Вы можете определить сервер с пустым именем сервера, который отбрасывает запросы:

server {
    listen      80;
    listen      443;
    server_name "";
    return      444;
}

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

(источник)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .