我试图在远程机器上运行OSRM码头。我遵循了在https://github.com/Project-OSRM/osrm-backend上提到的设置说明
wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbf
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-partition /data/berlin-latest.osrm
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-customize /data/berlin-latest.osrm
docker run -t -i -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm在执行上述指令之后,我能够运行docker,并且能够获得本地结果。
// this gives me proper response.
curl "http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true"
// but when I tried with my remote machine IP then is giving
// Failed to connect to my_remote_ip port 5000: Connection timed out
curl "http://my_remote_ip:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true"发布于 2020-03-11 18:10:31
只需发布一个基于我的意见的答案来解释使用GCE实例时的防火墙作用域。
Linux/Windows防火墙规则(iptables、firewalld等)将在操作系统级别的上工作。但是,请考虑实例本身存在于VPC中,VPC操作自己的防火墙规则。
这意味着,如果您有一个传入请求,它将首先访问VPC,然后再进入实例。这意味着您需要在GCE防火墙级别管理通信量,与操作系统防火墙分别管理。
VPC防火墙还控制从实例到internet和从实例到实例的通信量。
防火墙规则同时适用于网络中的传出(出口)和传入(入口)通信。防火墙规则控制流量,即使它完全在网络中,包括VM实例之间的通信。
最后,您必须考虑在这两个地方配置规则,以避免这种情况。
https://stackoverflow.com/questions/60599066
复制相似问题