這是我的Nginx服務器的配置文件Nginx的使用的Phusion客運URI路由
server {
listen 80;
location /node {
proxy_pass http://127.0.0.1:8080;
include /etc/nginx/proxy.conf;
}
location /ror {
root /var/www/ror/public;
passenger_enabled on;
proxy_cache off;
proxy_pass_header Server;
}
location/{
root /usr/share/nginx/www;
}
}
這主要是一個「HelloWorld的」設置同時測試運行節點和回報率的REST服務器。
問題是我需要有servername.com/ror
轉發到/var/www/ror/public
,以便RoR響應。我嘗試了一些配置,並且無法弄清楚如何正確轉發它。這個問題似乎是在ror
URI段被傳遞到回報率,從而導致它尋找一個控制器,它返回一個404
的其它結構,改變根/var/www
作品,只要我有/ror/public
在URI。
那麼,有沒有辦法以這種方式在反向代理上執行子URI路由?
好的,所以我添加了重寫規則。
location /ror {
root /var/www/ror/public;
rewrite ^/ror/(.*)$ /$1 last;
passenger_enabled on;
proxy_cache off;
proxy_pass_header Server;
}
的問題,但問題在於,現在則是從服務的默認根目錄的文件,這在我的安裝是/usr/nginx
,並且完全無視所在地塊內的根。
**我感謝您的幫助。這是我第一次使用Nginx(通常是一個Apache惡魔),所以我在解釋這些命令時遇到了麻煩。