Apache 2.4 子域代理平衡器和反向代理

Apache 2.4 子域代理平衡器和反向代理

3000我有一个在两个端口和上运行的 Next.js 应用程序3001,我想使用 apache 2.4 反向代理来实现这一点:

https://app.com/*      ->  localhost:300x/*
https://user.app.com/* ->  localhost:300x/user/*

到目前为止我的设置如下:

<VirtualHost app.com:80>
  ServerName app.com
  <Proxy "balancer://mycluster">
    BalancerMember "http://localhost:3000" route=1 retry=10
    BalancerMember "http://localhost:3001" route=2 retry=10
  </Proxy>
  ProxyPass        "/" "balancer://mycluster/"
  ProxyPassReverse "/" "balancer://mycluster/"
</VirtualHost>

<VirtualHost user.app.com:80>
    ServerName user.app.com
    <Proxy "balancer://mycluster">
      BalancerMember "http://localhost:3000" route=1 retry=10
      BalancerMember "http://localhost:3001" route=2 retry=10
    </Proxy>
    ProxyPass        "/" "balancer://mycluster/user/"
    ProxyPassReverse "/" "balancer://mycluster/user/"
</VirtualHost>

但每当我访问它时,https://user.app.com它都会将我重定向https://user.app.com/user4o4错误

希望有人能指出我做错的地方。提前谢谢。

答案1

您没有为 https 请求指定配置。您需要为<VirtualHost app.com:443>和创建相应的配置<VirtualHost user.app.com:443>。我假设您在这之前还有另一个反向代理,否则我不明白为什么您甚至会收到该 GET 的响应。

您的配置中没有重定向,您确定重定向了吗?如果您被重定向,您可能还想查看并分享您的应用程序代码。重定向可能发生在您的 Web 应用程序本身中。

相关内容