Windows 10 “以下错误”;gcloud应用程序部署“;使用Golang应用程序

Windows 10 “以下错误”;gcloud应用程序部署“;使用Golang应用程序,windows-10,google-app-engine,gcloud,Windows 10,Google App Engine,Gcloud,Windows 10 Pro 64位内部版本16184 转到1.8.1 我有以下文件夹结构: / + index.html + go.html + vim.html + git.html +- css | + main.css +- img | + forestbridge.jpg +- main.go My main.go仅包含以下内容: package main import ( "net/http" ) func init() { http.Handle("/

Windows 10 Pro 64位内部版本16184 转到1.8.1

我有以下文件夹结构:

/
+ index.html
+ go.html
+ vim.html
+ git.html
+- css
|   + main.css
+- img
|   + forestbridge.jpg
+- main.go
My main.go仅包含以下内容:

package main

import (
    "net/http"
)

func init() {
    http.Handle("/", http.FileServer(http.Dir(".")))
}
runtime: go 
api_version: go1 
handlers: 
- url: /.* 
script: _go_app
My app.yaml包含以下内容:

package main

import (
    "net/http"
)

func init() {
    http.Handle("/", http.FileServer(http.Dir(".")))
}
runtime: go 
api_version: go1 
handlers: 
- url: /.* 
script: _go_app
该网站的工作原理是提供文件和web内容,还可以提供
main.go
app.yaml
,这是一个明显的安全漏洞

在我看来,这种行为的明显罪魁祸首是源代码中的
http.FileServer(http.Dir(“.”)
行,它提供任何东西。我该如何解决这个问题


另一个问题,虽然是次要的,但事实上我已经将自己束缚在非弹性的做事方式中,这意味着如果我的代码变得如此先进,我将不得不牺牲Golang 1.8的兼容性。使用
env:flex
方法,我将如何改变情况?

应用程序引擎环境有两个版本,即标准版和灵活版--。看起来您的大多数代码都是面向标准的。对于Standard,app.yaml中没有环境键值。环境:flex是为flex设计的。很高兴听到你解决了这个问题。新用户犯的一个常见错误是使用错误文档中的元素(例如,标准配置中的flex元素)。你能详细说明一下你是如何下载main.go的源代码的吗?看来你不小心把源代码作为静态文件包含进来并提供服务。我建议发布一个新问题,显示你的应用程序的目录结构和当前的app.yaml。请不要将此问题作为新问题编辑,因为这不符合堆栈溢出礼仪:)为什么不移动到包含“HTML”目录和main.go文件的结构中。因此,您可以提供http.Dir(“HTML”)。这将阻止在主目录上提供源代码。还是我误解了这个问题?