仅允许从IP地址访问nginx

仅允许从IP地址访问nginx,nginx,Nginx,我有一个域名,例如www.domain.com,它注册在IP XXX.XXX.XXX.XXX上,我的站点运行在端口80上。 我想知道是否有办法阻止用户访问www.domain.com,强迫用户只使用IP地址进入网站 是否可以使用nginx设置类似的内容 无论如何,我使用Ubuntu作为服务器,任何在操作系统上解决这个问题的配置都会很感激 非常感谢你 更新: 由于@mettalic,配置现在看起来像这样: server { listen 80; server_name _; re

我有一个域名,例如www.domain.com,它注册在IP XXX.XXX.XXX.XXX上,我的站点运行在端口80上。 我想知道是否有办法阻止用户访问www.domain.com,强迫用户只使用IP地址进入网站

是否可以使用nginx设置类似的内容

无论如何,我使用Ubuntu作为服务器,任何在操作系统上解决这个问题的配置都会很感激

非常感谢你

更新:

由于@mettalic,配置现在看起来像这样:

server {
   listen 80;
   server_name _;
   return 403;

}
server {
    listen 80;
    server_name XXXX;
    add_header 'Access-Control-Allow-Origin' "http://XXX";
    add_header x-frame-options "DENY" always;


location /api {
    proxy_pass http://localhost:5000;
}

location / {
    add_header 'Access-Control-Allow-Origin' "http://XXXX";
    root /usr/share/nginx/html/dist;
    index index.html;
    try_files $uri $uri/ /index.html;
}
}

它完全工作。

设置
服务器名称192.168.19.24
在Ubuntu上,默认虚拟主机位于
/etc/nginx/sites available/default
,但在其他发行版上可能有所不同。

如果此服务器上只有一台主机位于端口80上。您可以在不使用
服务器名称的情况下创建nginx配置文件
。听XXX.XXX.XXX.XXX:80

UPD:

您可以尝试添加服务器,这将向所有试图通过域访问您的站点的用户返回错误:

server { 
    listen 80; 
    server_name _; 
    return 403; 
} 
或者将它们重定向到ip:

server { 
    listen 80; 
    server_name _; 
    return 301 http://XXX.XXX.XXX.XXX; 
}

不工作。连接到www.domain.com将直接进入该站点。@MassimolAverarmicocca您可以尝试添加服务器,这将向所有试图通过域访问您站点的用户返回错误:
server{listen 80;server\u name\u;return 403;}
或将他们重定向到ip:
server{侦听80;服务器名称uu;返回301http://XXX.XXX.XXX.XXX; }
@metallic请编辑您的答案以包含您的评论。这在我看来是绝对正确的答案。@metallic我真的很抱歉,但不起作用。我编辑了共享nginx配置的问题。可能我做错了什么。我刚刚发现我必须将服务器名称放在顶部。谢谢你,我很高兴啊!