有没有办法可以从url隐藏端口并使用cname(别名)而不是:。
例如如果我的网址是http://myserver.com:40089/webapps/index.jsp 我有可能使用它 http://mycname/webapps/index.jsp
我告诉的原因是,我可以在名为myserver.com的名为myserver.com的盒子周围移动。我不希望客户端在我移动时总是更改此URL。相反,我的客户应该不知道服务的运行位置和端口。
有可能吗?我使用jetty作为我的网络服务器。
提前致谢。
答案 0 :(得分:9)
使用DNS CNAME,您只能从一个主机名指向另一个主机名。端口号是一块完全不同的蛋糕。
所描述的情况有几个问题:
http://mycname:40080/webapps/index.jsp
您尚未提及但我认为您无法修改您的网络服务器设置,因为在这种情况下您也可以修改端口号。
但是这个问题有一个小问题的解决方案。
您可以安装HTTP反向代理服务器以将请求转发到网络服务器(例如HAProxy,nginx等)但是这样您就会丢失原始客户端的IP地址(当然,您可以在HTTP标头中转发它,但您必须修改以前域中的代码来处理此问题。)
答案 1 :(得分:4)
尝试使用SRV记录来执行此操作。这是我以前为我的Minecraft服务器获取自定义域的原因。
答案 2 :(得分:2)
没有。 CNAME仅映射名称,而不映射端口。如果要将x:b映射到c:d。
,则需要反向代理答案 3 :(得分:0)
是和否......是的,你可以互换地使用cname(但请记住,根据他们的域名,cookie可能不适合骑行),但是如果你的服务器在80以外的端口上运行,那么你将必须在URL中包含端口号。