私はnginxをRuby / Sinatraアプリで稼働させており、すべて順調です。しかし、私は今、同じサーバーから2番目のアプリケーションを実行しようとしているときに、何か奇妙なことに気付きました。まず、これが私のnginx.confです。
pid /tmp/nginx.pid;
error_log /tmp/nginx.error.log;
events {
worker_connections 1024;
accept_mutex off;
}
http {
default_type application/octet-stream;
access_log /tmp/nginx.access.log combined;
sendfile on;
tcp_nopush on;
tcp_nodelay off;
gzip on;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain text/xml text/css
text/comma-separated-values
text/javascript application/x-javascript
application/atom+xml;
upstream app {
server unix:/var/www/app/tmp/sockets/unicorn.sock fail_timeout=0;
}
server {
listen 80;
client_max_body_size 4G;
server_name FAKE.COM;
keepalive_timeout 5;
root /var/www/app/public;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app;
break;
}
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /var/www/app/public;
}
}
}
68,0-1 B
server_name
がに設定されFAKE.COM
ていることに注目してください。サーバーは、他のドメイン名を介してそのサーバーにヒットするすべてのホストに応答しています。特定のサーバーがリクエストにのみ応答するようにするにはどうすればよいFAKE.COM
ですか?
listen fake.com | something.com:80
このコマンドは、ないフィルタserver_name
。