我有一个网站在通过 HTTPS 运行的 Nginx Web 服务器上运行。我最近注意到有人将他们的域指向我的网络服务器,而 Nginx 正在为我的网站提供这个坏域。看起来它甚至在谷歌索引......
Nginx 配置:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;
root /var/www/example.com;
index index.html;
}
我尝试添加一条if
语句来检查是否与此处推荐的$host
匹配server_name
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/example.com/example.com.key;
# Check if incoming hostname matches server_name
if ($host != $server_name) {
# If not, return 404
return 404;
}
root /var/www/example.com;
index index.html;
}
这个添加似乎没有帮助。这一切都在正确的轨道上吗?我们欢迎所有的建议
处理这种情况或类似情况的最佳方法是创建一个默认的包罗万象的服务器块。例如,这是我必须为指向我的服务器 IP 的其他域提供服务。
我希望这会有所帮助!
创建一个包罗万象的服务器将是最好的选择。您可以
return 404;
按照建议将所有内容重定向到规范主机名;那将解决搜索引擎的问题。这是我的完整配置的替代方案: