何时在Pyramid中使用route_url或route_path?

时间:2012-03-15 09:55:47

标签: python url-routing pyramid reverse-proxy

我遇到了route_url和我的设置问题。在服务器上,我有一个paster服务器,它在端口6543上侦听127.0.0.1,一个nginx服务器从端口80反向代理到端口6543。

我还使用粘贴前缀在我的ini文件中使用此设置检索真实的客户端IP:

[filter:paste_prefix]
use = egg:PasteDeploy#prefix

[pipeline:main]
pipeline = 
  paste_prefix
  myapp

服务器位于专用LAN上,我正在尝试通过设置的SSH隧道连接到服务器:

ssh me@sshgateway -L 8080:nginx_server_ip:80

我通过此网址连接到我客户的网页:http://localhost:8080

主页面显示正确,但是随request.route_url生成的所有链接都重定向到localhost/url(不包括:8080)。 我想这与nginx或粘贴前缀(或两者)有关。

我希望用route_path替换route_url可能会在不修复nginx / ini设置问题的情况下解决这个问题。

有没有理由调用route_url而不是route_path?

1 个答案:

答案 0 :(得分:3)

route_url在生成从HTTP到HTTPS或不同子域的重定向等情况下非常有用。除此之外route_path可能更可取。