Opened 5 years ago
Last modified 5 years ago
#431 new defect
directory redirect ex: try_files $uri $uri/ @backend;
Reported by: | romkart@… | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | nginx-core | Version: | 1.3.x |
Keywords: | directory redirect | Cc: | |
uname -a: | Linux irserver 3.5.0-42-generic #65~precise1-Ubuntu SMP Wed Oct 2 20:57:18 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux | ||
nginx -V: | nginx version: ngx_openresty/1.4.2.9 built by gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) TLS SNI support enabled configure arguments: --prefix=/usr/local/openresty/nginx --add-module=../ngx_devel_kit-0.2.19 --add-module=../echo-nginx-module-0.48 --add-module=../xss-nginx-module-0.03rc9 --add-module=../ngx_coolkit-0.2rc1 --add-module=../set-misc-nginx-module-0.22 --add-module=../form-input-nginx-module-0.07 --add-module=../encrypted-session-nginx-module-0.03 --add-module=../srcache-nginx-module-0.22 --add-module=../ngx_lua-0.9.0 --add-module=../headers-more-nginx-module-0.22 --add-module=../array-var-nginx-module-0.03rc1 --add-module=../memc-nginx-module-0.13 --add-module=../redis2-nginx-module-0.10 --add-module=../redis-nginx-module-0.3.6 --add-module=../auth-request-nginx-module-0.2 --add-module=../rds-json-nginx-module-0.12rc10 --add-module=../rds-csv-nginx-module-0.05rc2 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --sbin-path=/usr/local/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/nginx-error.log --http-log-path=/var/log/nginx/nginx-http.log --pid-path=/var/run/nginx.pid --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --user=www-data --group=www-data --with-file-aio --with-ipv6 --with-http_realip_module --with-http_addition_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_gzip_static_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module --with-mail --add-module=/home/superuser/src/nginx-upload-progress-module --with-http_ssl_module |
Description
Пример:
server { listen 8000; server_name domain1 domain2 domain3 [somedomain...] ; [...] location / { try_files $uri $uri/ @backend; [...]
как известно, в случае существования директории $uri происходит 301 редирект.
но: telnet domain3 8000
GET /existdir HTTP/1.1 host: domain2:9999
выдает
HTTP/1.1 301 Moved Permanently Server: ngx_openresty/1.4.2.9 Date: Thu, 31 Oct 2013 12:03:06 GMT Content-Type: text/html Content-Length: 194 Location: http://domain2:8000/existdir/ Connection: keep-alive <html> <head><title>301 Moved Permanently</title></head> [...]
Здесь
domain2:8000/existdir/
происходит игнорирование оригинального порта на котором был произведен запрос, хотя домен сохраняется.
Таким образом редирект отказывается нерабочим, если на сервере происходит перенаправление порта (например туннель на отличающийся порт).
Note: See
TracTickets for help on using
tickets.
вероятно решает эту проблему.