【问题标题】:Proxy Pass Subdirectory in Apache Passenger with Rails App使用 Rails 应用程序的 Apache Passenger 中的代理通行证子目录
【发布时间】:2016-02-08 04:42:02
【问题描述】:

我有一个使用 Apache Passenger 的 Rails 应用程序 (www.myapp.com)。虚拟主机配置如下:

<VirtualHost *:80>
  DocumentRoot "/var/www/myapp/current/public"
  RailsEnv production
  <directory "/var/www/myapp/current/public">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </directory>
  RailsBaseURI /
</VirtualHost>

我有一个在其他域外部托管的博客,比如说www.myapp-blog.com。我想 301 将任何请求重定向到 www.myapp.com/blogwww.myapp.com/blog/*www.myapp-blog.com 上的相关页面。其他一切都应该通过我的 Rails 应用程序。

我应该如何修改上述虚拟主机配置来实现这一点?

【问题讨论】:

    标签: ruby-on-rails apache passenger reverse-proxy


    【解决方案1】:

    使用 apache 端口转发技术...

     <VirtualHost *:80> 
          ProxyPreserveHost On
          ProxyRequests Off
          ServerName www.myapp-blog.com
          ServerAlias myapp-blog.com
          ProxyPass / http://www.myapp.com/blog/
          ProxyPassReverse / http://www.myapp.com/blog
        </VirtualHost> 
    

    【讨论】:

    • 这如何维持第二个要求,即其他一切都必须通过我的 Rails 应用程序?
    • 如果你想在同一个应用程序中从一个 url 重定向到另一个。那么您需要在 proxyPass 和 proxyReversePass 中指定您的第二个 url。如果它们在同一台服务器上运行,您可以使用端口号。我认为您不需要 301 重定向。阅读有关 apache 重定向的更多信息。
    猜你喜欢
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多