Когда использовать route_url или route_path в Pyramid?

У меня проблема с route_url и моей настройкой. На сервере у меня есть сервер пастера, который прослушивает 127.0.0.1 на порту 6543, и сервер nginx, который выполняет обратное проксирование с порта 80 на порт 6543.

Я также использую префикс вставки для получения реального IP-адреса клиента с этой настройкой в ​​моем INI-файле:

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

[pipeline:main]
pipeline = 
  paste_prefix
  myapp

Сервер находится в частной локальной сети, и я пытаюсь подключиться к серверу через туннель SSH, настроенный следующим образом:

ssh me@sshgateway -L 8080:nginx_server_ip:80

И я подключаюсь к веб-странице на моем клиенте по этому URL-адресу: http://localhost:8080

Главная страница отображается правильно, но все ссылки, сгенерированные с помощью request.route_url, перенаправляют на localhost/url (без :8080). Я предполагаю, что это как-то связано либо с nginx, либо с префиксом вставки (или с обоими).

Я надеюсь, что замена route_url на route_path, вероятно, решит эту проблему, не решая проблему с настройкой nginx/ini.

Есть ли причина когда-либо вызывать route_url вместо route_path?


person ascobol    schedule 15.03.2012    source источник


Ответы (1)


route_url полезен в таких ситуациях, как создание перенаправления с HTTP на HTTPS или на другой субдомен. Кроме этого, route_path, вероятно, предпочтительнее.

person Michael Merickel    schedule 15.03.2012