tileserver-gl 在 nginx 代理后面的 gcloud 上的容器中运行时出现问题

问题描述 投票:0回答:1

我在谷歌云上的容器中运行tileserver-gl。到目前为止一切都很好。如果能够转到tileserver-gl 应用程序页面并查看我的数据预览,则表示成功。

接下来我使用此处的说明:https://cloud.google.com/run/docs/internet-proxy-nginx-sidecar 在我的tileserver-gl应用程序前面设置一个代理服务器。这些步骤完成后没有错误,我可以查看通过代理提供的tileserver-gl 应用程序页面。但是,数据预览不再可见,表明某些东西未正确通话/连接。

这是我的 nginx.conf 文件。通过 gcloud UI,nginx 前端配置为在 8080 上运行,tileserver-gl 应用程序定义了可用的环境 8888。

####nginx.conf#####

server {
    # Listen at port 8080
    listen 8080; 

    # Server at localhost
    server_name _;

    location / {
        proxy_pass   http://127.0.0.1:8888;

        # Various Headers to Ensure Tileserver-GL Generated URLs Visible
        proxy_set_header X-Forwarded-Host $host; 
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;

        }
}

我尝试使用 docker-compose 在本地设置相同的架构,为 nginx 代理和应用程序运行单独的容器。这非常有效。将其部署到 gcloud 时会出现问题。

nginx google-cloud-platform tileserver-gl
1个回答
0
投票

您共享的 nginx.conf 文件似乎表明 nginx 服务器正在侦听端口 8080,并且代理对tileserver-gl 应用程序的请求在端口 8888 上运行。配置中设置的标头对于传递必要的信息至关重要,以确保nginx 和tileserver-gl 应用程序之间的正确通信。

您可以考虑再次检查网络配置,以确保 nginx 和tileserver-gl 应用程序之间的通信已启动并正在运行,并验证端口是否打开并正确配置。

© www.soinside.com 2019 - 2024. All rights reserved.