我在 Elastic Load Balancer 后面的一些 EC2 实例上托管了一个网站。可以通过 Load Balancer 的公共 IP 访问该网站。这个公共 IP 经常变化,所以我必须重定向/阻止它。
为了重定向来自任何 AWS 服务的公共 DNS 的任何访问,我使用带通配符的虚拟主机。这工作得很好:
server {
listen 443;
server_name *.amazonaws.com;
ssl_certificate /etc/nginx/ssl/bundle.crt;
ssl_certificate_key /etc/nginx/ssl/cert.key;
return 301 https://www.domain.de$request_uri;
}
我已经尝试对 IP 地址进行相同的操作,但无法使其工作。
server {
listen 80;
server_name *.*.*.*;
return 444;
}
server {
listen 80 default_server;
server_name _;
return 444;
}
我如何重定向或阻止通过我服务器上的 IP 地址进行的任何访问?
答案1
您需要使用默认虚拟主机来阻止指向任何未定义虚拟主机的访问。
server {
listen 443 ssl default_server;
ssl_certificate /path/to/certificate;
ssl_certificate_key /path/to/key;
return 444;
}