Я только начал изучать Go, чтобы писать HTTP-запросы. Код обычно содержит эту часть:
func main() {
headersOk := handlers.AllowedHeaders([]string{"X-Requested-With", "Content-Type"})
originsOk := handlers.AllowedOrigins([]string{"*"})
methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS"})
router := mux.NewRouter()
router.HandleFunc("/login", Login).Methods("POST")
router.HandleFunc("/status", GetStatus).Methods("POST")
http.Handle("/", router)
fmt.Println("Connected to port 1234...")
log.Fatal(http.ListenAndServe(":1234", handlers.CORS(originsOk, headersOk, methodsOk)(router)))
На моем компьютере с Windows я просто делаю go build login.go
и запускаю login.exe
, а затем нажимаю на него с помощью Почтальона. Работает нормально.
Теперь я только что загрузил файл Go на мой сервер Debian. Это общедоступно как, скажем, http://111.111.111.111/my-api/login.go
. Я создаю файл Go и запускаю его.
В Postman вызов POST для http://111.111.111.111/my-api/login:1234
дает 404. Каталог my-api был прерван на «www-data». Как это исправить?