【发布时间】:2016-11-15 15:51:36
【问题描述】:
我已经在亚马逊 ec2 上为网址 www.example1.com 配置了我的 nginx。我需要将 www.example1.com/blog 代理传递给我的博客主机 www.example2.com/blog,该主机托管在 bluehost(碎主机)上,而不更改浏览器中的 url。有可能吗?
我尝试了许多不同的组合,例如
location /blog{
proxy_pass http://www.example2.com;
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;
}
运气不好。
我可以在日志中看到 nginx 正在尝试映射到 IP 而不是域,这是失败的原因,因为共享主机无法识别 ip 但域名。
我们将不胜感激任何输入/帮助。
【问题讨论】:
-
尝试将
proxy_set_header Host $http_host;更改为proxy_set_header Host $proxy_host; -
非常感谢!它完美地工作!我不确定是否允许我提出与此相关的另一个问题。当我写 http://example1.com 时它不会重定向,但是它会被重定向到 http://www.example1.com 和 www.example1.com。如果不允许我这样做,我深表歉意。
标签: nginx reverse-proxy