如何在浏览器中隐藏 URL 中的 IP 和端口?

如何在浏览器中隐藏 URL 中的 IP 和端口?

一些信息:

如果我访问 mysite.com:9999,我会得到类似 45.40.45.40:9999 的站点地址。45.40.45.40 是我路由器的公共 IP,后跟用于连接 ubuntu 上 virtualbox 上的 apache 服务器的非标准端口。

我使用 namecheap.com 的 dns 重定向来将 mysite.com 重定向到我的 public_ip:used_port_to_connect_Apache,因此连接后,url 中的值将像这样:45.40.45.40:9999。

我的问题是:如何将“45.40.45.40:9999”转换/返回为仅 mysite.com 的原始域名?

我需要做什么?这是某个 Apache 配置设置吗?它是 Apache 服务器上的虚拟主机。

/etc/apache2/sites-available/mysite.com.conf:

Listen 9999

<VirtualHost *:9999>

    <Directory /var/www/mysite.com/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ServerAdmin [email protected]
    ServerName mysite.com
    ServerAlias www.mysite.com
    DocumentRoot /var/www/mysite.com/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

请帮忙。

答案1

只需将 mysite.com 解析为 45.40.45.40。然后连接到http://mysite.com:9999从您的浏览器。无需重定向。也无需更改路由器或 Apache 配置中的任何内容。

如果您还想隐藏端口号,则必须用反向代理替换您最初执行的重定向。那将是一些侦听端口 80 的服务器(apache、nginx 等),并且代理将请求发送到真正的 Web 服务器。所有请求都将始终通过此反向代理。关于如何设置反向代理,已经有了答案,例如:

Nginx 反向代理和子域名

然而,这样做需要付出的努力相当大,而您得到的只是 URL 中少了几个字符。

相关内容