所以,我有一个golang应用程序和reactJs应用程序。如果我在不同的域上运行它们,则会遇到CORS问题。
在服务器端允许CORS根本不是问题,但是我无法从服务器获取cookie,因为浏览器会将它们作为第三方cookie忽略。
因此,我看到了一个非常简单的解决方案-在同一域上运行服务器和前端,但是我不知道该怎么做。如何配置所有内容以使其在同一域上运行而不会发生冲突?防止golang应用程序和ReactJS应用程序之间发生CORS的最佳实践是什么?
使用Go的文件服务器提供静态资产:
package main
import (
"log"
"net/http"
)
func main() {
http.HandleFunc("/api/", apiHandler)
http.Handle("/", http.FileServer(http.Dir("/var/www/my-app")))
log.Fatal(http.ListenAndServe(":3000", nil))
}
func apiHandler(w http.ResponseWriter, r *http.Request) {}
Run Code Online (Sandbox Code Playgroud)
该文档具有http.FileServer的更多示例。
另外,您可以使用类似github.com/jteeuwen/go-bindata(和go-bindata-assetfs)的内容将资产编译为Go二进制文件并从内存中提供它们。
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |