我对 nginx 还很陌生,我将 rails 应用程序托管在 nginx+passenger 上。我希望我的网站只能由一个域访问。因此,我将 nginx 配置如下:
server {
listen 80;
server_name mydomain.com www.mydomain.com;
root /var/deploy/myapp/current/public;
passenger_enabled on;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 1y;
add_header Cache-Control public;
}
}
我指定了server_name
指令,但是它仍然回答指向该 IP 的任何内容,并且我可以在 access.log 中看到它回答了其他域名。
我做错什么了吗?
答案1
要么在 nginx 中除了当前虚拟主机之外再创建一个新的虚拟主机,该虚拟主机可以捕获除 rails 域名之外的所有其他域名。要么您需要为您的域名获取一个专用 IP 地址。