Как сделать доступ к сайту только по домену?
Примерно так должно работать. server {
  listen 80 default_server;
  listen [::]:80 default_server;
  return 444;
}

server {
  listen 80;
  listen [::]:80;
  server_name  vashdomain.com;

  error_page  403 /error/404.html;
  error_page  404 /error/404.html;
  error_page  500 502 503 504 /error/50x.html;
  
  location / {
    proxy_pass http://127.0.0.1:4567;
    proxy_http_version 1.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_cache_bypass $http_upgrade;
  }
}
Говоря еще проще у меня vps, и если зайти по ip, то я вижу свой сайт, но мне это не нужно. Сделать так чтобы открывался если зайти по домену.А если "зайти" по IP что должно произойти? Сервер и/или компьютер "зашедшего" должны взорваться? :))
Один из вариантов, развития событий:
0. Открываем документацию по Nginx'у и читаем про директиву default_server
1. Создаём "сервер по умолчанию"
2. Придумываем, что там будет (например ошибка 404, пустая страница или "что-то ещё") и производим соотв. настройки