我在cpanel上有一个简单的独角兽+ nginx设置,部署在capistrano上。该nginx.conf服务器块看起来是这样的:Nginx和Unicorn上resource_url的意外行为
server {
error_log /var/log/nginx/vhost-error_log warn;
listen 123.456.789.0;
server_name my.dev.site.com www.my.dev.site.com;
access_log /usr/local/apache/domlogs/my.dev.site.com-bytes_log bytes_log;
access_log /usr/local/apache/domlogs/my.dev.site.com combined;
root /home/me/sites/dev/current/public;
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_pass http://unicorn_dev_site;
}
error_page 500 502 503 504 /500.html;
}
在此设置中,对资源的任何引用像User
产生的URL帮手古怪的行为。
<%= users_path %>
如预期的那样变成my.dev.site.com/users
。
<%= users_url %>
变成unicorn_dev_site/users
。
是什么导致了这种情况,这两种助手方法之间的区别是什么?
我也有这个问题。非常感谢! –
感谢提示。我解决了这个问题,改变了'proxy_pass'的名字,这样rails就能找到正确的名字。 – fuzzyalej