Ich habe Nginx mit einer Ruby / Sinatra-App eingerichtet und alles ist in Ordnung. Jetzt versuche ich jedoch, eine zweite Anwendung auf demselben Server auszuführen, und habe etwas Seltsames bemerkt. Hier ist zuerst meine 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
Beachten Sie, wie server_name
eingestellt ist, dass FAKE.COM
der Server auf alle Hosts reagiert, die diesen Server über andere Domänennamen erreichen. Wie kann ich diesen bestimmten Server dazu bringen, nur auf Anfragen zu antworten FAKE.COM
?
listen fake.com | something.com:80
Befehl filtert nichtserver_name
.