登录
首页 >  Golang >  Go问答

在 Go 中正确配置跨源资源共享(CORS)

来源:stackoverflow

时间:2024-02-28 20:03:28 294浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《在 Go 中正确配置跨源资源共享(CORS)》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

ADDRESS=0.0.0.0
CACHE_SIZE_MB=32
CORS_ENABLED=true
CORS_ALLOWED_HEADERS=
CORS_ALLOWED_METHODS=
CORS_ALLOWED_ORIGINS=
CORS_ALLOW_CREDENTIALS=
CORS_DEBUG=true
HOST_ONLY_DOMAINS=*
HTTP_CLIENT_TIMEOUT=5s
HTTP_MAX_AGE_DURATION=720h
HTTP_USER_AGENT=''
POPULAR_SITES=bing.com,github.com,instagram.com,reddit.com
PORT=8080
SERVER_MODE=redirect

我有这个 docker_run 文件。如何从 go 服务器正确设置此文件?

我有一个 example.com,服务器托管在其中,我正在尝试将此 api 用于我的 example1.com。


正确答案


我有这个 docker_run 文件。如何从 go 服务器正确设置此文件?

该文件与 go 无关。我想它应该被应用程序读取并应用到那里。

如果您有 http.handlerfunc 的实例,您可以通过以下方式将其转换为新的函数调用:

func setCors(h http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Access-Control-Allow-Origin", "your origin value...")
        w.Header().Set("Access-Control-Allow-Methods", "your methods...")
        w.Header().Set("Access-Control-Allow-Headers", "your headers...")
        w.Header().Set("Access-Control-Max-Age", "your age...")
        // other settings
        h(w, r)
    }
}

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在 Go 中正确配置跨源资源共享(CORS)》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>