Perlbal Reproxy 与远程主机

Perlbal Reproxy 与远程主机

为什么 perlbal 的重新代理会给我任何远程 URL 带来 503 错误?

X-REPROXY-URL: /path/to/a/local/file.jpg = working
X-REPROXY-URL: http://a-public-file-in-an-s3-bucket.jpg = HTTP 503

我的 perlbal 配置如下:

CREATE POOL test_pool
    POOL test_pool ADD 127.0.0.1:8888
    POOL test_pool ADD 127.0.0.1:8889

CREATE SERVICE balancer
    SET listen          = 0.0.0.0:80
    SET role            = reverse_proxy
    SET pool            = test_pool
    SET persist_client  = on
    SET persist_backend = on
    SET verify_backend  = on
    SET enable_reproxy  = true

ENABLE balancer

我知道我正确设置了标题,因为正如我所说,它适用于本地文件和同一域的 URL。

答案1

Perlbal 通过 HTTP 路由请求,因此 HTTP 请求需要满足 Web 服务器的规则或 ACL。

最简单的检查方法是使用 curl 模拟请求:例如:curl -vvhttp://127.0.0.1:8888/a-public-file-in-an-s3-bucket.jpg

检查服务器的 access_log 或 error_log。如果您运行虚拟网络服务器,则可能需要指定 FQDN 而不是 IP 地址。

相关内容