Итак, я недавно установил дроплет цифрового океана с Ubuntu 20.04 с веб-сервером nginx.Я на одном веб-сайте по умолчанию говорю, что example.com использует настройки nginx, а затем IP-адрес цифрового океана в качестве записи в панели DNS домена.
Таким образом, example.com работает нормально, но, не зная, я поместил тот же IP-адрес в другой домен, скажем, example1.com, и теперь и example1.com, и example.com открывают один и тот же веб-сайт.
Итак, возникает вопрос, что любой другой домен, который знает мой IP, может использовать этот IP для показа веб-сайта, который не должен быть разрешен.
Мне не ясно, какую конфигурацию на уровне ОС или на уровне сервера необходимо выполнить, чтобы нежелательные домены не использовали этот IP-адрес, или добавить какой-либо домен на сервер, чтобы разрешить только определенный домен.
сервер {
слушать 80;
вернуть 301 https://$host$request_uri;
}
сервер {
слушать 443 по умолчанию ssl http2;
имя_сервера пример.com;
ssl_session_cache встроенный: 1000 общий: SSL: 10 м;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers включен;
gzip включен;
gzip_static включен;
gzip_types font/woff2 text/plain text/css application/json application/x-javascript text/xml application/xml application/xml>
gzip_proxy любой;
gzip_vary включен;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_версия 1.1;
Вот полная конфигурация nginx:
файл конфигурации /etc/nginx/sites-enabled/ug:
сервер {
слушать 80 default_server;
вернуть 404;
# вернуть 301 https://$host$request_uri;
}
сервер {
слушать 443 ssl http2;
имя_сервера пример.com;
ssl_session_cache встроенный: 1000 общий: SSL: 10 м;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers включен;
gzip включен;
gzip_static включен;
gzip_types font/woff2 text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
gzip_proxy любой;
gzip_vary включен;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_версия 1.1;
# вернуть 404;
место расположения / {
индекс index.html
add_header Прагма «без кеша»;
add_header Cache-Control "без хранения, без кеша, обязательная повторная проверка, пост-проверка = 0, предварительная проверка = 0";
try_files $uri $uri @universal;
корень /home/winnc/www/us/dist/ecommcerce/сервер;
}
местоположение @universal {
#port определен в вашем server.js
proxy_pass http://localhost:4000;
прокси_http_версия 1.1;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Соединение «обновление»;
proxy_set_header Хост $host;
proxy_cache_bypass $http_upgrade;
}
местоположение/администратор {
индекс index.html
add_header Прагма «без кеша»;
add_header Cache-Control "без хранения, без кеша, обязательная повторная проверка, пост-проверка = 0, предварительная проверка = 0";
try_files $uri $uri/admin @universal-admin;
корень /home/winnc/www/us/dist/ecommerce-admin/server/dist/ecommerce-admin/browser;
}
местоположение @universal-admin {
#port определен в вашем server.js
proxy_pass http://localhost:4001;
прокси_http_версия 1.1;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Соединение «обновление»;
proxy_set_header Хост $host;
proxy_cache_bypass $http_upgrade;
}
расположение /API/ {
proxy_pass http://localhost:5000;
прокси_http_версия 1.1;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Поддержание соединения;
proxy_set_header Хост $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect http://localhost:5000 https://example.com;
корень /home/winnc/www/us;
}
расположение /контент/ {
proxy_pass http://localhost:5000;
прокси_http_версия 1.1;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Поддержание соединения;
proxy_set_header Хост $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect http://localhost:5000 https://example.com;
корень /home/winnc/www/us;
}
# слушать 443 ssl; # под управлением Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # под управлением Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # под управлением Certbot
# включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
}
# сервер {
# если ($host = example.com) {
# вернуть 301 https://$host$request_uri;
# } # под управлением Certbot
# имя_сервера example.com;
# слушать 80;
# вернуть 404; # под управлением Certbot
#}