鍍金池/ 問答/GO  Linux  網(wǎng)絡安全  HTML/ nginx 反代可以不輸出301,直出結果嗎

nginx 反代可以不輸出301,直出結果嗎

現(xiàn)在的問題是

用戶輸入的是一個 id

需要用這個 id 去請求一個 api 才能得到 文件資源路徑 .

想到 兩個方法

  1. 這個請求由 go, php, node 等去處理
  2. nginx 代理一個動態(tài)變化的 proxy_pass , 要先從 api 拿到, 或者 api地址可以返回 301 到真實地址

主要是為了美觀, 所以不想 301 到另一個地址


舉個例子就是

用戶訪問 http://a.com/60.jpg 的時候, 圖片資源的真實路徑其實是在 http://b.com/2018/02/11/54309...

回答
編輯回答
離殤

nginx 可以由一個特殊的 X-Accel-Redirect 頭部控制資源訪問。

所以可以直接 proxy_pass 到 upstream, upstream 根據(jù)請求動態(tài)生成文件路徑,添加到X-Accel-Redirect: /path/to/file 頭部,nginx取回上游返回后,內部跳轉/path/to/file, 這是一個內部跳轉,外部不可見的,你還可以添加 internal 指令控制該文件不可直接訪問。

2017年6月15日 13:30