Passenger新版本request_uri header自动转码的问题

Posted by HoLin on January 21st, 2010 filed in 部署与优化

Nginx access.log :

127.0.0.1 - - [21/Jan/2010:21:13:58 +0800] “GET /notes/Books+%2B+Online+Video+%3D+Vooks%3A+Watchable%2C+Readable%2C+%26+Very+Cool HTTP/1.1″ 304 0 “-” “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7″

到Rails之后log/production.log:

Completed in 123ms (View: 8, DB: 62) | 200 OK [http://i/notes/Books+++Online+Video+=+Vooks:+Watchable,+Readable,+&+Very+Cool]

url被自动decode了,在我们的项目中并不想要这样的结果。

网上查了很多资料,Apache版本有类似 AllowEncodedSlashes 的指令。Nginx暂时没有。

对比了passenger-2.2.4和passenger-2.2.9,在文件ext/nginx/Configuration.c中有一行代码和这个相关。
2.2.9:

DEFINE_VAR_TO_PASS(”REQUEST_URI”, “$uri$is_args$args”);

2.2.4

DEFINE_VAR_TO_PASS(”REQUEST_URI”, “$request_uri”);

用2.2.4的替换2.2.9的,重新编译就可以了。

No related posts.


One Response to “Passenger新版本request_uri header自动转码的问题”

  1. GABRIEL Says:


    Medicamentspot.com. Canadian Health&Care.No prescription online pharmacy.Best quality drugs.Special Internet Prices. No prescription pills. Buy pills online

    Buy:Lumigan.Zyban.Petcam (Metacam) Oral Suspension.Nexium.Mega Hoodia.Valtrex.Zovirax.Accutane.Synthroid.Arimidex.Actos.100% Pure Okinawan Coral Calcium.Retin-A.Prednisolone.Human Growth Hormone.Prevacid….

Leave a Comment