首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从公共网络(互联网)访问码头服务?

如何从公共网络(互联网)访问码头服务?
EN

Stack Overflow用户
提问于 2019-07-20 15:01:01
回答 2查看 391关注 0票数 0

码头群,

Setup:只有主节点(公共ip: 30.50.60.90和intranet ip: 10.0.0.3)在internet上,工作节点(intranet ip: 10.0.0.6和10.0.0.9)在intranet上。

服务创造-

代码语言:javascript
复制
$docker service create \  
  --name my-nginx \
  --network my-overlay \
  --replicas 1 \
  -p 8080:80 \
  nginx:latest

现在,从互联网上点击http://30.50.60.90:8080有效吗?

如果是这样的话,那么在这里路由网格的作用是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-07-20 16:23:12

如果您不配置您的防火墙或路由器NAT转发端口,它将无法从互联网访问,无论您知道您的公共IP地址。您的公共IP地址指向您的路由器,然而,从那里,您的路由器隐藏您的本地网络,您的群可能是部署在那里。为了从internet访问端口,必须在路由器中配置NAT以将端口转发到计算机,从那里,只要部署了容器,您的服务就应该是可访问的。

有关更多信息,请查看超级用户-什么是端口转发和它是用来做什么?

如果你需要一种简单的方式在互联网上获得你的服务,我会给ngrok一个机会。

票数 0
EN

Stack Overflow用户

发布于 2019-07-21 04:48:09

为了进行访问,码头服务需要反向代理,因为码头群在内部网络中运行服务。码头服务IP在互联网上是不公开的,因为服务运行在码头机上,码头机是孤立的网络。您可以为反向代理设置Nginx或任何负载均衡器。

例如,Nginx中的反向代理

代码语言:javascript
复制
 server {
    listen 80;
    server_name hello.com www.hello.com;

    location / {
        proxy_pass http://your_server_ip:8080;
        proxy_set_header 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;
    }
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57125884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档