开发者社区 问答 正文

两个域名解析到同一IP上, 端口问题

两个域名解析到同一IP上;
1、A域名使用端口80
2、B域名使用其他端口,如9090,用隐性URL功能,可是访问时需要带端口,B.com:9090 ,请问访问的时候能否不带端口或有其他方案?

展开
收起
1999340864142012 2019-03-08 22:24:31 782 分享 版权
阿里云 AI 助理回答

根据您的需求,您希望两个域名(A.com和B.com)解析到同一IP地址上,其中A.com使用默认的HTTP端口80,而B.com则希望通过隐性URL功能访问其他端口(例如9090),但不希望在访问B.com时直接暴露并输入端口号。基于此需求及参考资料,以下是解决方案概述:

解决方案

  1. 域名解析配置

    • 首先,确保A.com和B.com都已正确解析到目标服务器的IP地址上。这一步骤可以通过阿里云的域名管理后台完成,为两个域名分别添加A记录指向同一IP地址。
  2. 服务器配置

    • 对于A.com,由于使用的是标准HTTP端口80,通常无需额外配置即可正常访问。

    • 对于B.com,若想通过隐性URL(即不显示端口号)访问非标准端口(如9090),需要在服务器上进行Web服务器配置,以实现端口重定向或反向代理。具体操作如下:

      • Nginx示例:在Nginx配置文件中,可以设置一个server块来监听80端口,并将请求转发到9090端口。
      server {
         listen 80;
         server_name B.com;
         location / {
             proxy_pass http://localhost:9090;
             # 其他可选配置,如proxy_set_header等
         }
      }
      
      • Apache示例:使用mod_proxy模块实现类似功能。
      <VirtualHost *:80>
         ServerName B.com
         ProxyPass / http://localhost:9090/
         ProxyPassReverse / http://localhost:9090/
         # 其他必要配置
      </VirtualHost>
      
  3. 安全与优化

    • 确保服务器的安全组规则以及防火墙设置允许80和9090端口的入站流量。
    • 考虑到安全性,建议对非标准端口(如9090)的访问实施限制,仅允许特定IP或范围访问,避免不必要的安全风险。

注意事项

  • 使用上述方法后,用户访问B.com时将不再需要显式输入端口号,因为所有请求都会被Web服务器自动转发到9090端口。
  • 请确保在进行配置更改后重启Web服务器服务,使改动生效。
  • 安全性是关键,务必谨慎开放端口,并定期检查和维护服务器安全设置。

综上所述,通过在服务器端配置反向代理或端口转发,您可以实现在不直接暴露端口号的情况下访问B.com上的服务。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答