Erro após "gcloud app deploy" com o aplicativo Golang

0

Windows 10 Pro 64 bits Insider Edition build 16184 Vá em 1.8.1

Eu tenho a seguinte estrutura de pastas:

/
+ index.html
+ go.html
+ vim.html
+ git.html
+- css
|   + main.css
+- img
|   + forestbridge.jpg
+- main.go

Meu main.go simplesmente contém o seguinte:

package main

import (
    "net/http"
)

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

Meu app.yaml contém o seguinte:

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

O trabalho do site na medida em que veicula arquivos, bem como o conteúdo da Web, também é capaz de veicular o main.go e o app.yaml , o que é uma brecha de segurança óbvia.

Parece-me que o culpado óbvio por esse comportamento é a linha http.FileServer(http.Dir(".")) na origem que está servindo a tudo e a qualquer coisa. Como faço para corrigir isso?

Outra questão, embora de importância secundária, é o fato de eu ter me ligado à maneira não flexível de fazer as coisas, o que significa que eu terei que sacrificar a compatibilidade com o Golang 1.8, caso meu código se torne tão avançado. Como eu mudaria as coisas para usar a abordagem env: flex ?

    
por Carl 28.04.2017 / 20:51

0 respostas