Как разместить подкаталог / поддомен на другом сервере (или на виртуальном хостинге) - PullRequest
1 голос
/ 10 марта 2019

У меня есть серверная программа Go, размещенная на сервере Ubuntu 18.04. Я хочу обработать example.com с помощью Go, затем example.com/blog или blog.example.com с помощью PHP на виртуальном хостинге. Я предпочитаю делать это с самим Go, а не с другим веб-сервером (например, Nginx), Как я могу это сделать?

1 Ответ

3 голосов
/ 10 марта 2019

Вам необходимо обрабатывать конечные точки, обслуживаемые другим сервером / процессом, в качестве обратного прокси-сервера.Стандартная библиотека дает вам httputil.ReverseProxy , который действует как стандарт http.Handler, чтобы сделать это очень просто.

Попробуйте что-то вроде этого:

target, err := url.Parse("http://blog.example.com/")
if err != nil {
    panic(err)
}
proxy := httputil.NewSingleHostReverseProxy(target)

mux.Handle("/blog", proxy)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...