【问题标题】:Using App Engine Python application as proxy to PHP application使用 App Engine Python 应用程序作为 PHP 应用程序的代理
【发布时间】:2013-08-23 15:57:10
【问题描述】:

在过去的两年里,我用 Python 构建了一个 App Engine 应用程序。很快就可以在 App Engine 上使用 PHP。我想将现成的 PHP 应用程序(例如 Wordpress、Mediawiki 和 phpBB)与我的 Python 应用程序一起使用。对于用户来说,她将两个应用程序(Python 或 PHP)中的哪一个用于特定页面应该是透明的。我认为 Python 应用程序是我将在其中进行大部分编程的主要应用程序。这是因为我对 Python 有更多的经验,也因为我已经为 App Engine 编写了很多可重用的代码。

目前我的方法是在 Python 中构建一个代理来映射 HTTP 请求,如下所示:


http://www.yellow.com/blog/*http://phpapp.appspot.com/wordpress/client1/*

http://www.yellow.com/community/*http://phpapp.appspot.com/phpbb/client1/*

yellow.com 是映射到我的 Python 应用程序的域。


http://www.blue.com/wiki/*http://phpapp.appspot.com/mediawiki/client2/*

http://www.blue.com/*http://phpapp.appspot.com/wordpress/client2/*

blue.com 是映射到我的 Python 应用程序的域。


除了博客、社区或wiki,还有很多不需要PHP 的URL。这些 URL 由 Python 应用程序处理。例如:http://www.yellow.com/admin/*

我仍在努力使用代理在两个应用程序之间正确传递 cookie,但我认为可以做到这一点。

如果我能让它以这种方式工作,那就太棒了。然而,在我看来,这并不是处理这个问题的最优雅的方式。我知道我可以使用子域来服务 PHP 应用程序,但我宁愿只使用 URL 模式。此外,使用代理方法,我可以在将 PHP 应用程序返回的 HTML 提供给用户之前对其进行调整。这种方法的另一个优点是能够将 PHP 应用程序的页面缓存在 memcache 中。

我想听听您对我将 Google App Engine(自定义)Python 和(现成)PHP 应用程序一起使用的方法有何看法。我会遇到代理问题(Javascript、cookie、...)吗?例如,使用 PHP 编写的自定义插件(插件可以从 Python 应用程序获取数据)在 Wordpress 中构建所有内容会更好吗?其他建议?

【问题讨论】:

    标签: php python google-app-engine http proxy


    【解决方案1】:

    您的用例很好地说明了 Appengine's Modules 的用途。也可以看看dispatch mechanism

    【讨论】:

    • 在同一个应用程序中是否可以(或将)有一个带有 Python 运行时环境的模块和另一个带有 PHP 运行时环境的模块?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 2016-07-30
    • 1970-01-01
    • 2011-07-19
    相关资源
    最近更新 更多