Nginx пользовательская html папка - PullRequest
0 голосов
/ 01 февраля 2020

Я новичок на nginx сервере и у меня возникли проблемы. Я пытаюсь создать файл stati c, но он работает только в том случае, если я помещаю его в: / var / www/html

Я хочу разместить свой индекс. html в этой папке: / home / bowa / go / go -web / frontend

Это моя конфигурация сервера:

server {
    server_name braurl.se www.braurl.se;

    root /home/bowa/go/go-web/frontend/;
    index.html;

    location / {
        proxy_pass http://localhost:9990;
    }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/braurl.se/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/braurl.se/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

Это мой golang код для обслуживания файла:

(мой основной. go находится в папке: / home / bowa / go / go -web /)

func rootHandler(w http.ResponseWriter, r *http.Request) {
    http.ServeFile(w, r, "/frontend/index.html")
}

Единственный способ, которым мне удается обслуживать индекс. html если я определю нет root в конфигурации моего сервера и если я изменю свой код go следующим образом:

http.ServeFile(w, r, "/var/www/html/index.html")

Это сводит меня с ума, и я был бы рад, если бы кто-то мог указать мне на правильное направление.

Я получил это, работая в localhost, но не на nginx.

func serveFiles(w http.ResponseWriter, r *http.Request) {
    fmt.Println(r.URL.Path)
    p := "." + r.URL.Path
    if p == "./" {
        p = "./frontend/index.html"
    }
    http.ServeFile(w, r, p)
}
func main() {
    r := mux.NewRouter()
    api := r.PathPrefix("/api/v1").Subrouter()

    // index.html
    r.HandleFunc("/", serveFiles)
}

Структура: Pi c структуры сервера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...