【发布时间】:2018-03-11 06:26:57
【问题描述】:
我正在尝试让这个重写规则起作用:
rewrite ^/booking/(.*)/([0-9]+).ics$ /cgi-bin/links/booking/ical.cgi?room_id=$2&who=$1 last;
ical.cgi 脚本只是为该用户打印出 ical 的内容。该脚本的输出方式非常简单。首先我们打印出标题:
print $IN->header( 'text/calendar' );
...然后打印出 iCal 值。这在我们的旧服务器(使用 Apache)上运行良好,但由于某种原因,我在我们的新 nginx 服务器上发生了这种情况:
然后,如果您下载它,文件将保存为 ical.cgi,而不是 foo.ics。
我做错了什么?
FWIW,这是我在 .cgi 脚本的主要位置块中设置的:
location ~ \.cgi$ {
gzip off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8181;
}
脚本实际上工作正常(下载的文件是我期望的内容 - 但问题是它被写为 ical.cgi 文件名,而不是 foo.ics)
【问题讨论】:
标签: nginx