http - 是否可以在 Golang 中处理多个域?

标签 http go dns webserver

我想用 Golang 处理多域。

像这样,如果浏览器发送请求 http://sampledomain.me用特定的 Golang 程序处理它,

在其他情况下,我希望在一台服务器上运行多个程序并告诉每个程序处理每个域。

所有程序都在 80 上监听,许多域指向一台服务器。

有人可以帮我吗?

谢谢...

最佳答案

你的 Go 程序不能全部监听 80 端口。你需要在前面加上一些东西,比如 nginx , 作为反向代理。以下 nginx 配置摘录会将两个域转发到两个不同的程序,每个程序监听不同的端口:

server {
        listen 80;
        server_name www.domain1.com;

        location / {
                proxy_pass http://127.0.0.1:8080;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host            $host;
                proxy_read_timeout 600s;
        }

}  

server {
        listen 80;
        server_name www.domain2.com;

        location / {
                proxy_pass http://127.0.0.1:8081;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host            $host;
                proxy_read_timeout 600s;
        }

}

关于http - 是否可以在 Golang 中处理多个域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39952707/

相关文章:

wcf - 通过 HTTP 发布到 WCF 服务

c++ - 接收 HTTP header

actionscript-3 - HTTP 状态代码 503 在 Flash 中引发错误 #2030

go - 为什么追加修改传递的 slice

dns - 如何在 Go 中查找 NAPTR 记录?

http - 在没有直接数据库连接的情况下跨域访问 SSAS 多维数据集

sockets - 如何发现客户端正在从 go 中的 tcp 缓冲区读取

android - 如何在android中解析dns?

linux - TPROXY 拦截后 Dnsmasq 未收到响应

go - 如何从一组数组中过滤出一个数组,其中一个数组中的所有项目都与另一个数组中的某些项目匹配?