如何将搜索 sub.example.com 的用户发送到 example.com:8082?我使用 Nginx 作为 Apache 的代理。我在端口 8082 上运行一项服务,并希望用户通过子域访问它
问候
安德斯
答案1
首先检查 DNS 设置,确保 sub.example.com 具有指向代理服务器公共 IP 的 A/AAAA 记录。然后让 Apache 使用虚拟主机监听 example.com:8082。
现在我们有几个可能的解决方案。你的问题没有明确说明你更喜欢哪一个:
选项 A:proxy_pass
用户应该在浏览器中看到 sub.example.com,同时后台从 Apache 的那个特殊端口获取该页面。
添加一个 nginx vhost 配置,其中服务器监听 sub.example.com 域(我假设是端口 80/443?)和一个位置部分以将流量传递到 example.com:8082:
server {
listen 80;
listen [::]:80;
server_name sub.example.com;
location / {
proxy_pass http://example.com:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
这只是一个粗略的指南。当然还有很多事情需要注意。请提供更多详细信息以获得更详细的答案。
选项 B:重定向
用户将打开 sub.example.com 但随后被重定向,因此他在浏览器中看到 example.com:8082。
添加一个 nginx vhost 配置,其中服务器监听 sub.example.com 域(我假设端口 80/443?)并重定向 example.com:8082:
server {
listen 80;
listen [::]:80;
server_name sub.example.com;
return 301 http://example.com:8082;
}
这只是一份粗略的指南。当然还有更多细节,你需要注意。提供更多信息以获得更好的答案。