sou*_*rar 6 reverse-proxy nginx http-headers
我正在尝试设置nginx来处理文件上传,并在完成后将文件信息传递到后端服务器.我在https://coderwall.com/p/swgfvw上发现了一个帖子,其中显示了如何执行此操作,并且我能够看到正在上传到/ tmp目录的文件.但是,我还想将文件名和类型(Content-Disposition和Content-Type)传递给后端服务器.
我尝试捕获在http服务器端口收到的内容并查看下面的内容,
POST /upload HTTP/1.1
User-Agent: curl/7.32.0
Host: MyHostName
Accept: */*
Content-Length: 4431
Expect: 100-continue
Content-Type: multipart/form-data; boundary=------------------------6060af4f937c14c9
--------------------------6060af4f937c14c9
Content-Disposition: form-data; name="filedata"; filename="sessions.txt"
Content-Type: text/plain
Run Code Online (Sandbox Code Playgroud)
其次是数据.
我上传的nginx位置块是,
location /upload {
limit_except POST { deny all; }
client_body_temp_path /tmp/;
client_body_in_file_only on;
client_body_buffer_size 128K;
client_max_body_size 100M;
proxy_redirect off;
proxy_set_header X-FILE $request_body_file;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_pass_request_headers on;
proxy_set_body off;
proxy_http_version 1.1;
proxy_pass http://my_backend;
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我能够在我的后端传递并接收以下内容,
'content-type': 'multipart/form-data; boundary=------------------------6060af4f937c14c9'
'x-file': '/tmp/0000000001'
Run Code Online (Sandbox Code Playgroud)
但我真的很想知道如何获得
Content-Disposition: form-data; name="filedata"; filename="sessions.txt"
Content-Type: text/plain
Run Code Online (Sandbox Code Playgroud)
到我的后端.对此有任何帮助非常感谢.
PS:希望这个问题可以解决吗?(尝试过超级用户,但似乎没有太多活动)
如果标题被忽略,请尝试
proxy_pass_header Content-Disposition;
Run Code Online (Sandbox Code Playgroud)
或直接通过
proxy_set_header Content-Disposition $http_content_disposition;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2081 次 |
| 最近记录: |