在网站上流量通过http传输到位置/实例我们需要使用SSL和https来确保流量安全.当重定向到https时,请求内容类型是"text/xml",当它实际应该是"application/json"时.我们应该在代理头中明确设置"application/json"吗?我们在http配置中尝试过add_header Content-type"application/json",但没有什么区别.我们做错了什么?
Http配置:
location /instance {
proxy_pass https://instancehost:9443/instance;
proxy_redirect http://localhost.com https://localhost.com;
proxy_set_header X-xmgr-proxy-domain http://localhost.com:80;
proxy_set_header X-xmgr-proxy /instance;
proxy_set_header Access-Control-Allow-Origin "*";
proxy_set_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
proxy_ssl_certificate /data/nginx/certs/abc.crt;
proxy_ssl_certificate_key /data/nginx/certs/abc.key;
proxy_ssl_trusted_certificate /etc/pki/tls/certs/abc-bundle.crt;
proxy_ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
proxy_hide_header Content-Type;
add_header Content-type "application/json"
}
Run Code Online (Sandbox Code Playgroud)
在标头中设置内容类型不起作用,因为我们仍然收到204错误.
https配置:
location /instance {
proxy_pass https://instancehost.com:9443/instance;
proxy_set_header X-xmgr-proxy-domain https://localhost.com:443;
proxy_set_header X-xmgr-proxy /instance;
proxy_set_header Access-Control-Allow-Origin "*";
proxy_set_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
proxy_ssl_certificate /data/nginx/certs/abc.crt;
proxy_ssl_certificate_key /data/nginx/certs/abc.key;
}
Run Code Online (Sandbox Code Playgroud)