我在VPS上有一个网站。
我遇到的问题是,当我输入服务器的IP时,它会链接到网站 即使进入mail.domain.com,它也会做同样的事情。
如何禁用该功能,以便访问者收到消息或定向到域?
我尝试禁用IP并在云端闪存上发送记录,但它没有用。
我的设置是:
VPS on Linux Debian
Nginx
no control panel just command line
Cloudflare
DNS setup with BIND
答案 0 :(得分:25)
您可以使用redirect,nginx config:
server {
listen 80;
server_name IP_ADDRESS;
return 301 http://YOUR.DOMAIN;
}
答案 1 :(得分:18)
您可以在其他人之前添加服务器指令。
server {
listen 80;
server_name _;
return 404;
}
答案 2 :(得分:16)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name "";
return 444;
}
您需要指定default_server
参数,以便所有不可用的服务器请求都转到此server block
,这会引发444 error
。
444:关闭时没有响应
答案 3 :(得分:1)
您可以尝试在以下位置设置服务器IP地址:
/etc/nginx/conf.d/default.conf
所以它看起来像这样:
server {
listen 80;
server_name localhost IP.OF.VPS.HERE;
然后您可以指定子域vhost,如:
server {
listen 80;
server_name subdomain.domain.com;
主要域名,如:
server {
listen 80;
server_name www.domain.com domain.com;
然后重启Nginx:
/etc/init.d/nginx restart
每个vhost都应该有自己的* .conf文件(为了更好的组织),例如:
/etc/nginx/conf.d/subdomain.domain.com.conf
/etc/nginx/conf.d/domain.com.conf
/etc/nginx/conf.d/default.conf
答案 4 :(得分:1)
您可以返回任何您认为合适的错误。可在此处找到错误列表List_of_HTTP_status_codes
server {
listen x.x.x.x:80;
server_name x.x.x.x;
return 404;
}
答案 5 :(得分:1)
您可以使用redirect,nginx config:
server {
listen 80;`enter code here`
server_name IP_ADDRESS;
return 301 http://YOUR.DOMAIN;
}
答案 6 :(得分:0)
V(1)=300
M(1)=0
for i=2:n
V(i) = V(i-1) - 0.5*dx*(w(i-1)+w(i))
M(i) = M(i-1) + 0.5*dx*(V(i-1)+V(i))
end
答案 7 :(得分:0)
将此文件放置在/etc/nginx/conf.d/SERVER_IP_ADDRESS.conf
文件的顶部,并注释其下面的所有内容。
#disabling accesing server by ip address
server {
listen SERVER_IP_ADDRESS:80 default;
server_name _;
return 404;
}
然后重新启动Nginx服务器(在Ubuntu上,通过service nginx restart
此命令完成)
现在,当您将服务器的IP地址放入浏览器的url字段时,会出现404错误。
答案 8 :(得分:0)
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 default_server;
listen [::]:443 default_server;
return 444;
}
不要为接收器支持 HTTP/2 或 SSL 连接而烦恼。 它确实包罗万象,没有那些不必要的东西。 对于不受支持的,它只是拒绝这种连接。