![SRV 记录用于在特定 IP/端口上提供网页](https://linux22.com/image/698099/SRV%20%E8%AE%B0%E5%BD%95%E7%94%A8%E4%BA%8E%E5%9C%A8%E7%89%B9%E5%AE%9A%20IP%2F%E7%AB%AF%E5%8F%A3%E4%B8%8A%E6%8F%90%E4%BE%9B%E7%BD%91%E9%A1%B5.png)
我有一个网站“mydomain.ca”
我有一个托管在不同的 IP、端口 1234 上的 Web 管理前端
我正在尝试使 SRV 记录发挥作用,以便每当我访问 subsite.mydomain.ca 时,它都会提供 Web 管理前端。
我已经有一条 DNS 记录,将 subsite.mydomain.ca 指向我的 192.192.192.192:22200 网页管理页面,我可以通过 subsite.mydomain.ca:1234 访问该页面
理想情况下,我只是想将端口从 URL 中剥离出来。
这是我正在尝试的 SRV 记录:
_hostname._tcp.mydomain.ca. SRV 0 0 1234 subsite.mydomain.ca. Automatic
我这里做错了什么吗?我应该使用特定的服务名称而不是主机名吗?
希望这有意义。谢谢!
答案1
SRV 记录的工作方式并非如此。
为了实现这一点,您应该配置您的网络服务器以将 subsite.mydomain.ca 转发到 subsite.mydomain.ca:1234 或将其配置为代理,在用户不知情的情况下将所有流量从 subsite.mydomain.ca 中继到 subsite.mydomain.ca:1234。
第三种选择是使用简单的 PHP/ASP/Perl/Python/etc 脚本来重定向用户。
我更喜欢代理:)
简单的 nginx 代理:
server {
listen 80;
server_name subsite.mydomain.ca;
location / {
proxy_pass http://subsite.mydomain.ca:1234;
}
}
简单的 Apache 代理:(使用‘mod_proxy’):
<VirtualHost *:80>
ServerName subsite.mydomain.ca
LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass "/" "http://subsite.mydomain.ca:1234/"
</VirtualHost>