我用 virtualbox 运行了 ubuntu-server 部署。 宿主机是 centos,nginx 配置成:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8087/;
proxy_redirect http://127.0.0.1:8087/ http://example.com/;
}
}
然后 virtualbox 使用端口转发功能把 8087 端口转发到 ubuntu 的 80 端口: VBoxManage modifyvm "ubuntu" --natpf1 "web,tcp,,8087,,80"
现在http://example.com/500.html 访问没问题。但是访问http://example.com 会被跳转成http://127.0.0.1:8087 当然就不可访问了。换一个端口比如把 8087 换为 8088 也会被跳转至http://127.0.0.1:8088
这和 ruby-china 程序有什么特殊关联吗?因为以前用 virtualbox 部署过其它非 ruby 的网站没有这种问题。
补充: 在 fiddler 里查看 http 请求,直接访问 http://example.com 的 response 会出现 Location: https://127.0.0.1:8088/ 字段。访问 http://example.com/500.html 不会有这个字段