在我的ubuntu服务器上,我安装了nginx,并使用本文设置了虚拟主机。https://www.digitalocean.com/community/articles/how-to-set-up-nginx-virtual-hosts-server-blocks-on-ubuntu-12-04-lts--3
虚拟主机的域名类似于www.example.com。当我转到www.example.com时,我可以看到我的应用程序的索引页。但是,当我去真实的的ip地址,我仍然看到nginx欢迎页面。如果有人使用IP地址访问我的网站,我该如何删除此欢迎页面或指向www.example.com?
我设置了一个A记录,将IP xxx.xxx.xxx.xxx指向www.example.com。
9条答案
按热度按时间fivyi3re1#
我想当你第一次设置nginx时,它附带了一个
default
虚拟主机。你试过把它拿掉吗?你试过删除符号链接吗?第三个选项是在默认虚拟主机的位置/
上添加deny all;
。我不确定这是否有效,我现在不能测试它。如果以上方法不起作用,请尝试以下操作:http://nginx.org/en/docs/http/request_processing.html#how_to_prevent_undefined_server_names
http://your-server-ip/
是一个未定义服务器名称的请求。您应该能够使用以下命令阻止它:u5rb5r592#
您需要删除位于
/etc/nginx/sites-enabled
中的文件default
:然后重启nginx:
ny6fqffe3#
如果你想删除默认的nginx服务器块,你可以使用命令:
这将从文件夹中删除符号链接:
/etc/nginx/sites-enabled/
。仍然会有文件
/etc/nginx/sites-available/default
,但它将不再处于活动状态。如果您有另一个服务器块来处理您的域,例如example.com与一些网站有,比如果有人去你的服务器的IP地址,比你的网站example.com将被送达.
如果您有多个域,则需要多个服务器块。为了确保其中一个块作为默认块,您可以编辑
/etc/nginx/sites-available/example.com
,以便在listen指令中包含default_server
选项,例如:u5i3ibmn4#
配置为
我得到502为所有uri,包括我的应用程序url。
我在
/etc/nginx
下没有找到sites_enabled
文件夹,相反,我的默认站点位于/usr/share/nginx/html
所以我创建了另一个空白页
/usr/share/nginx/html/blank
创建空白index.html
然后编辑default.conf
然后主页变成空白,隐藏nginx信息。
顺便说一下,如果你去掉
或设置
你会得到404在主页上,但显示“Nginx版本”,这是不好的。
guicsvcw5#
如果您删除了
/etc/nginx/sites-available
下的default
并重新启动nginx,欢迎页面仍然显示,请查看/etc/nginx/conf.d
下是否有default.conf
并删除它,然后重新启动nginx。5gfr0r5j6#
例如,要
disable
一个站点,default
:/etc/nginx/sites-enabled/default
只是/etc/nginx/sites-available/default
的符号链接。所以删除它不会删除原来的。要
enable
某个站点:最后,重新加载更改:
nuypyhwy7#
默认虚拟主机通常位于
/etc/nginx/conf.d/
或/etc/nginx/sites-enabled/
上(作为符号链接)从所有可能的位置删除默认虚拟主机:
然后重新启动
nginx
:如果
/etc/nginx/nginx.conf
不起作用,请检查您的包含。fkvaft9z8#
在我的情况下,我不得不删除 * 两个 * 链接到默认网站:
dwthyt8l9#
上面的建议对我有效,默认服务器为我屏蔽了GitLab。如果您想保留
default
文件供以后使用而不删除它,则可以在/etc/nginx/nginx.conf
中的下面一行前面放置一个#来注解它:你可以重新加载nginx
或者从系统控制重新启动它