【问题标题】:Forwarding subdomain to a port of localhost using WHM and apache2使用 WHM 和 apache2 将子域转发到 localhost 的端口
【发布时间】:2020-02-06 15:13:11
【问题描述】:

简而言之,我可以使用example.com:3000 访问我的网站,但我想使用sub.example.com 访问它。

我正在使用 WHM 使用 example.com 域来管理我的服务器。我使用 WHM 控制面板为 sub.example.com 添加了一个 DNS 区域。它工作正常并重定向到sub.example.com/cgi-sys/defaultwebpage.cgi

我还尝试使用 VirtualHost 制作反向代理,方法是将以下几行添加到 /etc/apache2/conf/httpd.conf 文件中,如 here 中所述:

<VirtualHost *:80>
    ServerName sub.example.com
    ProxyPreserveHost on
    ProxyPass / http://localhost:3000/
</VirtualHost>

然后我使用sudo systemctl restart httpd 重新启动了 Apache 服务器。然而,子域仍然重定向到sub.example.com/cgi-sys/defaultwebpage.cgi 路径,而不是转发到port:3000。你能帮我解决这个问题吗?

值得一提的是,服务器在 CentOS(7.7 版)和 Apache(2.4.41 版)上使用 WHM 和 CPanel(84.0.21 版),port:3000 连接到 docker 镜像(gitea ) 通过 docker-compose。

【问题讨论】:

  • 暂时可以通过将子域重定向到该端口来解决。

标签: apache docker dns reverse-proxy whm


【解决方案1】:

我在相同的设置下遇到了同样的问题,并且能够通过使用此配置来解决它:

<VirtualHost sub.example.com:80>

    ServerName sub.example.com
    ServerAlias sub.example.com

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

</VirtualHost>

将其添加到 WHM 中 Apache 的 include 指令中: https://docs.cpanel.net/whm/service-configuration/include-editor/

对于 SSL 端口 443,您必须使用 IP 而不是域:

<VirtualHost 1.1.1.1:443>

【讨论】:

    猜你喜欢
    • 2012-08-07
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2023-01-18
    • 2016-07-22
    • 1970-01-01
    • 2013-08-28
    相关资源
    最近更新 更多