我正在使用ngnix来proxy_pass
对应用服务器的请求。我使用以下配置
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
proxy_pass http://localhost:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /names.json {
proxy_pass http://appserver.com:3000;
}
location /names/ {
proxy_pass http://appserver.com:3000;
}
}
现在我有一个格式为http://uiserver.com/hosts/export.xlsx
我正在传递POST的params并从我的Web服务器发出POST请求。现在,当应用服务器以excel的形式返回数据时,浏览器不会以文件形式加载数据,而是在响应中看到加密数据。
我有什么遗失的东西,我应该如何解决这个问题?或者它是应用服务器端的东西。请告诉我。
谢谢
答案 0 :(得分:0)
浏览器将使用Content-Type
标头来了解内容是什么(以及如何处理)。
您的应用程序应发送Content-Type: application/<mimetype of your document>
,有关正确的类型,请参阅this question。
如果没有它(或者不正确),浏览器可能会尝试将内容显示为文本。