Помогите мне понять, как использовать ProxyPass

Продукт, в котором Вы нуждаетесь, называют Powerchute Network Shutdown http://www.apc.com/products/family/index.cfm?id=127

10
задан 8 March 2009 в 23:15
3 ответа

Вы должны изменить свое приложение django так, чтобы оно находилось в / new / auth / login вместо / auth / login. Обычно ваши проходы через прокси должны выглядеть так:

ProxyPass /path http://192.168.0.101/path
ProxyPassReverse /path http://192.168.0.101/path

Это в сочетании с вашим приложением Django, ожидающим, что оно находится в / new /, должно решить ваши проблемы.

9
ответ дан 2 December 2019 в 22:09

Используйте VirtualHost. Например, в качестве имени A вашего сервера (например, sub.external.com ) укажите IP-адрес вашего сервера (например, 123.456.678 )

Из соображений безопасности вам необходимо явно пересылать HTTP_HOST при использовании ProxyPass в settings.py , согласно Ticket № 6880 :

USE_X_FORWARDED_HOST = True

Затем добавьте следующее в Apache /etc/httpd/httpd.conf :

# Virtual hosts
Include /etc/httpd/extra/httpd-vhosts.conf

Добавьте свой VirtualHost в /etc/httpd/extra/httpd-vhosts.conf :

NameVirtualHosts *:80

<VirtualHost *:80>
  ServerName sub.external.com
  ProxyPass / http://127.0.0.1:8000/
</VirtualHost>

Теперь вы сможете получить доступ к своему сайту с http: // sub.external.com , не беспокоясь о «путях»

2
ответ дан 2 December 2019 в 22:09

Спасибо за ваши ответы, я отвечаю на свой вопрос, так как оно требует некоторых исправлений после игры с этим.

Во-первых, приложение № 2 запускается http: // 192.168.0.101 .. он не запускается http://192.168.0.101/path , так что ProxyPass не работает

Итак, поговорив с парнями из irc #apache, я обнаружил что мне нужно сделать что-то вроде этого:

RewriteCond% {HTTP_HOST} ^ app2.myremotedns.com *

RewriteRule. * http://192.168.0.101/ [P]

Это отправляет правило перезаписи для любых запросов на app2.myremotedns.com, которые будут отправлены на внутренний IP-адрес через прокси.

Это работает в некоторой степени, но имеет три проблемы:

  • При необходимости входа в систему на всех страницах. Если я получаю доступ к чему-либо удаленно в app2, он перенаправляется на / auth / login .. однако из-за текущей настройки перезаписи Я получаю цикл перенаправления до того, как Firefox просто перестанет пробовать путь. Я предполагаю, что это может иметь какое-то отношение к методам перенаправления Django, но я не совсем уверен.

  • Если я отключу вход в систему, страницы будут работать, но не полностью. Кажется, я могу получить индексную страницу приложения № 2, но на самом деле ничего больше

  • Статический носитель сломан, но это, вероятно, простое решение ... сейчас не беспокоюсь об этом.

Итак, у меня есть проблема более сложная, чем я себе представлял ... :)

1
ответ дан 2 December 2019 в 22:09

Теги

Похожие вопросы