首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >容器化API套接字挂起

容器化API套接字挂起
EN

Stack Overflow用户
提问于 2021-02-03 09:35:26
回答 1查看 339关注 0票数 1

我刚刚完成了一个Go REST API的工作,我想将我的代码移动到一个容器中。我已经做到了这一点,但是我无法通过postman访问我的端点,因为抛出了错误:Error: socket hang up

根据这个SO thread,这可能是我的防火墙造成的,在运行ufw status之后,我注意到我的防火墙没有打开,所以我不确定是什么导致了这个错误。

我的应用程序似乎运行正常,并且我将容器映射为本地计算机中的8080端口。

代码语言:javascript
复制
└─(19:14:04 on master ✭)──> docker ps                                                                                                                     ──(Tue,Feb02)─┘
CONTAINER ID   IMAGE        COMMAND       CREATED          STATUS          PORTS                    NAMES
b001f19e2957   go-library   "./library"   15 minutes ago   Up 15 minutes   0.0.0.0:8080->8080/tcp   cranky_kare

我还确保我的请求使用此端口。

代码语言:javascript
复制
GET http://localhost:8080/books/3
Error: socket hang up
Request Headers
User-Agent: PostmanRuntime/7.26.10
Accept: */*
Postman-Token: 190a5849-b859-4324-a65e-37a7b69b49fb
Host: localhost:8080
Accept-Encoding: gzip, deflate, br
EN

回答 1

Stack Overflow用户

发布于 2021-04-18 21:45:28

我的问题是我在127.0.0.1上启动了服务器,而端口映射并没有指向这个接口。在所有接口(0.0.0.0)上启动它对我有效:

代码语言:javascript
复制
addr := fmt.Sprintf("0.0.0.0:%v", settings.Port)
server := &http.Server{
    Addr:         addr,
    Handler:      app.Router,
    IdleTimeout:  120 * time.Second,
    ReadTimeout:  5 * time.Second,
    WriteTimeout: 5 * time.Second,
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66020052

复制
相关文章

相似问题

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