Ich habe eine Rails-App auf Digital Ocean mit Unicorn, NGINX auf Ubuntu und ich versuche mit einer Reihe von Subdomains wie app1.example.com, app2.example.com, usw.Mehrere Subdomains leiten weiter zum Root-Pfad
In meinen Routen mir das tue:
constraints(Subdomain) do
match '/', to: 'pages#landing', via: [:get, :post]
end
Was ich fange Sub-Domain-Präfixe und zeigt die entsprechende Zielseite von der Steuerung unterstützt. Lokal funktioniert es großartig, aber NGINX scheint auf jeden Fall zum Root-Pfad der App umzuleiten.
Hier ist meine NGINX config:
upstream app_server {
server unix:/var/run/unicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name example.com *.example.com;
return 301 https://$server_name$request_uri;
}
#When the wildcard above didn't work,
#I tried hardcoding below but still nothing
server {
listen 80;
server_name app1.example.com;
return 301 https://$server_name$request_uri;
}
server {
root /home/rails/example/public;
index index.htm index.html;
listen 443 ssl spdy;
listen [::]:443 ssl spdy;
...
ssl_protocols TLSv1.1 TLSv1.2;
# ssl_ciphers
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security max-age=15768000;
ssl_stapling on;
...
resolver 8.8.8.8 8.8.4.4 valid=86400;
resolver_timeout 10;
location/{
try_files $uri/index.html $uri.html $uri @app;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ {
try_files $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
}
Was soll ich hier fehlt?
Dies schien es für mich zu tun! Jetzt auf ssl; Vielen Dank!! – albaba