2011-12-14 132 views
6

是否可以配置Nginx返回從請求頭或請求參數創建的響應主體?看起來這可以通過echo模塊完成,但如果可能的話,我想用一個Nginx的香草安裝來完成。我可以使用vanilla Nginx作爲響應主體來響應請求標頭值嗎?

基本上我想要做以下事情,但顯然return_body不存在,所以我可以用什麼來代替?

location ~* ^/echo/(.+) { 
    return_body $1; 
} 

location /echo_user_agent { 
    return_body $http_user_agent; 
} 

如果我安裝echo模塊,我可以用echo取代return_body,但如果可能的話這將是很好能夠做到這一點,而無需安裝任何額外消費,在我看來,像這樣簡單的事情應該是可能的。

回答

10

你可以用return 200做到這一點:

location = /echo_user_agent { 
    return 200 $http_user_agent; 
} 
2

使用ngx_lua module

像這樣:

body_filter_by_lua 'ngx.log(ngx.CRIT,ngx.arg[1])'; 
在正確的位置

+0

+1的Lua插件是非常強大的。 – opyate 2014-01-22 07:24:16

0

試試這個 add_header Path_Way1; 例如

add_header Path_Way1 $1; 

1,其中$是第一個路徑參數