【发布时间】:2013-12-02 09:34:18
【问题描述】:
我有一个内部应用服务器 (Django+gunicorn) 在私有端口上的 Nginx 反向代理后面运行(例如,侦听端口 5000。)
应用服务器中安装了几个 Django 应用,映射到单独的基本路径。示例:
/app1
/app2
/app1 为domain1.com 提供内容,/app2 为domain2.com 提供内容。
我想静默地将特定主机名的传入请求反向代理到相关的后端应用程序,同时保留转发到内部应用程序服务器的路径:
http://domain1.com/foo --> /app1/foo
http://domain1.com/bar/bletch --> /app1/bar/bletch
http://domain2.com/alpha/bravo --> /app2/alpha/bravo
我想你可以说我正在尝试设置一个简单的“虚拟主机”配置,但我想使用一个共享的后端应用服务器实例。
关键点:我不希望访问者的浏览器看到重定向的 URL 结构。因此,当客户端浏览器点击 http://domain1.com/foo 时,会提供正确的内容,但浏览器看不到重定向。
我已经使用 Nginx 完成了一些基本工作(仍在学习),我正在寻找示例 Nginx 配置,以展示实现此目标的安全有效方法。
【问题讨论】:
标签: django nginx reverse-proxy appserver