nginx服务器提供http://server1.com,http://server2.com和http://server3.com。
nginx upstreams请求处理一些ruby代码。
server1.com,server2.com和server3.com实际上是存储在亚马逊s3上的一些静态文件。
我想做下一步:找到' server1'的存储桶名称主机,放入db一些日志并通知nginx从亚马逊流。 也许通过在ruby代码头中设置url到amazon s3 bucket并稍后使用这个url。
流程:浏览器 - > nginx - >红宝石 - > nginx - > amazon_s3 - >浏览器
我发现如何在错误时执行此操作:
http {
server {
listen 12345; #Port that my custom app was assigned
server_name mydomain.com;
location / {
proxy_intercept_errors on;
error_page 400 403 502 503 504 = @fallback;
proxy_pass http://the_old_site_domain.com;
}
location @fallback {
proxy_pass http://myfallback.domain.com;
}
}
}
但是有没有办法根据标题的出现做一些相似的事情?
谢谢!
UPD 这就是我测试标题的方法:
if ($http_x_custom_header) {
....
}
如果设置nginx应该做一些内部重定向,对吧?
但是如何在 ruby代码之后调用?