Ruby on Rails uygulamasını yerel bilgisayarımda Nginx
ve RoR web sunucuları (Unicorn
, Thin
veya WEBrick
gibi) dağıtmak istiyorum. Aşağıda gösterildiği gibiNginx proxy geçişi yoluyla neden alt alana erişemiyorum?
, ben post
alt alan tarafından web-app erişimi istiyorum:
upstream sub {
server unix:/tmp/unicorn.subdomain.sock fail_timeout=0;
# server 127.0.0.1:3000;
}
server {
listen 80;
server_name post.subdomain.me;
access_log /var/www/subdomain/log/access.log;
error_log /var/www/subdomain/log/error.log;
root /var/www/subdomain;
index index.html;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
try_files /system/maintenance.html $uri $uri/index.html $uri.html @ruby;
}
location @ruby {
proxy_pass http://sub;
}
}
Her şey iyi çalışıyor ve ben post.subdomain.me
yazarken benim RoR app görebilirsiniz.
Sorun: post.subdomain.me
url kullandığınızda benim alt alana gelen erişemez (request.subdomain
döner boş ve request.host
döner subdomain
subdomain.me
ait testlerinin öngördüğü). Ben post.subdomain.me:3000
kullandığınızda Ancak her şey (Farkındayım benim kıl yarısını kaybetti) mükemmel çalışır. Neden ve Nasıl Çözebilirim?
? Unicorn, Thin ve Webrick'den bahsetmiştin ama hangisini denediğini söylemedin. –
@TomL: Hepsiyle aynı problemim var. –
senin 'proxy_xxx' yönergelerinin tamamı yanlış' location' blokta bulunmaktadır. Onları '@ yon' bloğunda 'proxy_pass' direktifiyle tutmalısınız, aksi takdirde yok sayılır. –