【发布时间】:2013-12-22 12:58:51
【问题描述】:
我在 nginx 后面运行 CherryPy,需要处理重定向。在我在 127.0.0.1:8080 上运行的开发机器上,这会正确重定向到 127.0.0.1:8080/login。
但是,当通过 nginx 在 cherrypy.mydomain.com(端口 80)上运行时,重定向仍将转到 127.0.0.1:8080/login 而不是 cherrypy.mydomain.com/login。 127.0.0.1:8080 是应用程序的正确本地地址,但是 nginx 中的应用程序服务器设置为侦听端口 80 并将请求通过管道传输到 127.0.0.1:8080 上的本地cherrypy 服务器,但不应直接公开此地址。
我的应用程序中的相关行是:
身份验证失败:
raise cherrypy.HTTPRedirect("/login")
在我的控制器中:
cherrypy.config.update({
'tools.encode.on': True, 'tools.encode.encoding': 'utf-8',
'tools.decode.on': True,
'tools.trailing_slash.on': True,
'server.socket_host' : '127.0.0.1',
'server.socket_port' : 8080,
})
我想知道除了套接字主机之外是否还有服务器/主机名的额外cherrypy 配置项,但我很难在文档中找到它。
基本上,我只需要将cherrypy 重定向到cherrypy.mydomain.com 主机名而不是内部IP。
谢谢!
【问题讨论】:
标签: python-2.7 nginx cherrypy