错误跟随" gcloud app deploy"与Golang应用程序

时间:2017-04-28 18:51:07

标签: 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

我的main.go只包含以下内容:

package main

import (
    "net/http"
)

func init() {
    http.Handle("/", http.FileServer(http.Dir(".")))
}

我的app.yaml包含以下内容:

runtime: go 
api_version: go1 
handlers: 
- url: /.* 
script: _go_app

该网站的工作方式是提供文件以及网络内容,它还能够为main.goapp.yaml提供服务,这是一个明显的安全漏洞。

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

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

0 个答案:

没有答案