最近我安装了VESTACP和nginx,添加了域名,一切都很好,我可以用域访问我的网站,但当我从服务器(http://11.11.11.11)输入IP地址时,我可以访问我的网站,所以有什么解决方案可以避免显示ip地址吗?
谢谢你们
这是我的nginx conf文件:
listen 11.11.3.171:80;
server_name example.com www.example.com;
error_log /var/log/apache2/domains/example.com.error.log error;
location / {
proxy_pass http://11.11.3.171:8080;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
root /home/admin/web/example.com/public_html;
access_log /var/log/apache2/domains/example.com.log combined;
access_log /var/log/apache2/domains/example.com.bytes bytes;
expires max;
try_files $uri @fallback;
}
}
location /error/ {
alias /home/admin/web/example.com/document_errors/;
}
location @fallback {
proxy_pass http://11.11.3.171:8080;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
include /home/admin/conf/web/nginx.example.com.conf*;
}Apache conf文件:
ServerName example.com
ServerAlias www.example.com
ServerAdmin info@example.com
DocumentRoot /home/admin/web/example.com/public_html
ScriptAlias /cgi-bin/ /home/admin/web/example.com/cgi-bin/
Alias /vstats/ /home/admin/web/example.com/stats/
Alias /error/ /home/admin/web/example.com/document_errors/
#SuexecUserGroup admin admin
CustomLog /var/log/apache2/domains/example.com.bytes bytes
CustomLog /var/log/apache2/domains/example.com.log combined
ErrorLog /var/log/apache2/domains/example.com.error.log
AllowOverride All
Options +Includes -Indexes +ExecCGI
php_admin_value open_basedir /home/admin/web/example.com/public_html:/home/admin/tmp
php_admin_value upload_tmp_dir /home/admin/tmp
php_admin_value session.save_path /home/admin/tmp
AllowOverride All
RMode config
RUidGid admin admin
RGroups www-data
AssignUserID admin admin
IncludeOptional /home/admin/conf/web/apache2.example.com.conf*发布于 2019-11-11 13:48:58
因为域名系统只是一个协议来解析(域名)到他们的IP地址,你不能真正隐藏你的地址。
但是您可以使用nginx来回答请求,只使用适当的名称。
在您的nginx.conf (或站点- config)中,检查listen和server_name指令:
server {
listen 80;
server_name yourserver.com www.yourserver.com;
...
}在Nginx配置文件中,允许有多个服务器"{}“块。传入的请求与server_name指令相匹配--以自上而下的方式。
在多个服务器块的情况下,如果请求是针对一个不存在的域,那么它将始终由第一个服务器块处理。
如果您希望阻止来自任何其他(也称为“未被现有块捕获”)的请求,只需添加以下服务器块来捕获它们:
server {
listen 80 default_server;
server_name _;
return 444;
}将server_name设置为_意味着‘默认’或"匹配所有“。响应代码444作为“无响应”返回,这是一个立即关闭连接的特殊nginx非标准。
https://serverfault.com/questions/991349
复制相似问题