因此,我尝试使用 nginx 设置到远程服务器上的 java 小程序的反向代理,但我遇到的问题是它检查文档库,我可以让它顺利加载http://remote.example.com/
,但是当我尝试让它通过使用我正在尝试使用的实际域的 nginx 运行时,http://newdomain.example.com
它会引发错误,因为文档库不是远程的。
有没有办法可以修改反向代理配置来传递http://remote.example.com/
而不是http://newdomain.example.com/
?
以下是我目前的配置
upstream test {
server remote.example.com:80;
}
server {
listen *:80;
server_name http://newdomain.example.com;
location / {
proxy_pass http://test;
proxy_pass_request_headers on;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
}
答案1
更改Host
标题
proxy_set_header Host $http_host;
到
proxy_set_header Host remote.example.com;
看来我误解了你的句子文档库。我认为这是 Java 小程序服务器的保护,因此,除非我们更改标Host
头,否则无法下载。显然,您所说的文档库是 JavagetDocumentBase
函数。由于 Java 小程序是由浏览器执行的,因此我们在服务器端无能为力。