草庐IT

http_service

全部标签

web-services - 在后台运行 golang web 服务器

在后台运行go服务器的最简单方法是什么?我目前让服务器在CMD中运行,并且不想更改实际代码。 最佳答案 我会使用屏幕。假设Ubuntu18.04:sudoapt-getinstallscreen然后screen然后gorunmain.go使用Ctrl+A+D退出屏幕。要返回它:screen-r 关于web-services-在后台运行golangweb服务器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

http - 注册后重定向到使用用户凭据登录?

我有一个链接/signup,如果新用户来注册,我希望它重定向到/login和用户凭据,在那里我想执行运行良好的登录操作并将用户重定向到仪表板。我卡住的地方是我无法将其重定向到使用用户凭据登录。为了存储session,我正在使用这个包:gorilla/sessions 最佳答案 从概念上讲,可能会发生两件事:要么让新用户注册,然后将他们重定向到他们必须在其中输入凭据的登录页面,或者您在用户在注册页面上创建新帐户后立即登录。在我看来,您想执行类似2.的操作,但在实现时遇到了麻烦。我不确定你是如何使用GorillaSessionAPI做到

go - 读取 http 响应时内存使用量增加

我正在开发一个工具,其中有300个从公共(public)云下载文件的例程。所有例程都并行地逐block下载文件(云支持api)。我最初创建了一个给定大小的文件和内存映射它。现在我正在使用io.ReadFullapi将响应主体直接读入内存映射byteslice。这样,内存最终会达到100%。 最佳答案 就我而言,复制移动就像您分配一个新数组并将元素复制到其中一样,内存将是初始数组的两倍大小。顺便说一句,从http响应体读取数据后,你应该关闭它,比如:deferresp.Body.Close()

go - 如何向 http.Request 添加额外的 header 以跟踪问题

这个问题在这里已经有了答案:Howtosetheadersinhttpgetrequest?(4个答案)关闭3年前。在golang中,http.client似乎不存在钩子(Hook)方法,所以我想知道如何在框架中添加额外的header,如trace-id:xxx.理想的代码如下://thisfuncaddahookmethodtohttp-clienttorewriteheaderclient:=buildWithRewriteHeaderHook()//customRequesthasno`trace-id`client.Do(customRequest)//remoteserver

amazon-web-services - 如何解决这个 gRPC 安装问题?

我按照以下步骤在我新启动的AWSEC2实例上安装gRPC:https://jitpaul.blog/2018/04/18/grpc-on-aws/当我尝试执行这一行时:sudoyuminstalllibgflags-devlibgtest-dev我收到这个错误:我不想搞砸任何事情,请帮忙。 最佳答案 改为尝试:sudoyuminstallgflags-devsudoyuminstallgtest-dev那应该安装libgflags-dev和libgtest-dev。 关于amazon-w

http - 如何让 Go 的 http.Server 闲置一段时间后退出?

我正在使用标准库net/http包在Go中编写一个Web服务器,该包利用systemd套接字激活。我有基本的工作原理,这样服务器在第一次连接到监听套接字时启动,并且我可以在发出信号时执行正常关闭(即systemctlstop将在没有切断事件请求)。我希望服务器在闲置一段时间后自动退出。类似于以下内容:当最后一个事件请求完成时,启动一个计时器,比如30秒。如果在此期间有任何新请求到达,则停止计时器。如果计时器到期,则执行正常关机。我们的想法是释放服务器正在使用的资源,因为我们知道systemd会在新客户端出现时再次启动我们。我不确定的是第(1)和(2)部分。理想情况下,我想要一个不涉及修

amazon-web-services - IAM 角色不适用于 golang Docker 容器

仅供引用,我对docker比较陌生,但在go和aws方面经验丰富。我正在使用docker容器构建我的golang应用程序(用于弹性beanstalk),并将golang:1.12.7作为我的基础镜像。我通过构建一个基础镜像来使用多阶段docker构建,然后从头开始复制我的golang二进制文件,以将我的最终镜像从1gb减少到11mb。一切都正确编译并且能够运行docker镜像;但是,当我使用多阶段构建时,我的IAM角色不起作用,并且docker镜像无法连接或检索我的IAM角色中定义的aws服务的数据。当我构建基础镜像时,没有从头开始,IAM角色工作正常并且可以从aws检索数据,但我剩下

http - 如何在 go-chi 中启用 gzip 压缩中间件

如何使用go-chi框架的gzip中间件启用gzip压缩?尝试使用此处显示的示例:https://github.com/go-chi/chi/issues/204但是当我检查curl时,我得到了这个:$curl-H"Accept-Encoding:gzip"-Ihttp://127.0.0.1:3333HTTP/1.1405MethodNotAllowedDate:Sat,31Aug201919:06:39GMT我尝试了代码“helloworld”:packagemainimport("net/http""github.com/go-chi/chi""github.com/go-chi

http - golang 服务器不解码 json(文字 false 中的无效字符 ' '(预期 'a')400")

我正在尝试从客户端向服务器发送文件和json数据,但是服务器没有响应请求并且无法解码json数据但是文件被接收我正在使用map并将其作为json格式发送(avsUpload),原因是客户端可以拥有大量数据n而struc并不理想客户端代码:funcUploadFile(file_upstring,avsUploadmap[string]string){//getfilefile,err:=os.Open(file_up)iferr!=nil{fmt.Println(red("ERROR")+"openfile",file,err)return}deferfile.Close()//get

apache - 在 Golang net/http 中设置服务器软件变量

我正在使用ab-c100-n10000http://{yourip}:8000/对我的应用程序进行基准测试,一切都很好,但是像我一样痴迷,我发现在描述服务器时,它返回了ServerSoftware:ServerHostname:localhostServerPort:1337DocumentPath:/DocumentLength:19bytes如何设置服务器软件变量?我无法忍受那里的空地。 最佳答案 设置一个Serverheader。参见RFC-2616section14.38和ResponseWriter.标题.w.Header