Как получить доступ к приложению rails при отключении capistrano, используя deploy: web: disable, чтобы обновить контент? - PullRequest
1 голос
/ 12 мая 2011

Я использую capistrano для развертывания веб-сайта rails 3, и я использую deploy: web: отключить, чтобы показать пользователям страницу технического обслуживания во время обновления сайта.

Есть только одна проблема, я хочу иметь возможность получить доступ к сайту и добавлять к нему контент через интерфейс администратора.Я использую devise в качестве решения для аутентификации.

Есть ли способ показать страницу обслуживания только пользователям, которые не вошли в систему или что-то в этом роде.Или есть еще один простой способ настроить страницу обслуживания для пользователей, которые все еще могут получить доступ к административной области?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Один из способов - добавить собственный IP-адрес как исключение в файл .htaccess .Это даст вам полный доступ к вашему приложению rails во время обслуживания, но никто другой

Добавьте это в файл .htaccess приложения rails где-то над RewriteRule.(очевидно, замените 127.0.0.1 на ваш фактический IP-адрес)

RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$

Если у вас есть статический ip, вы можете просто вставить его, или я, вероятно, настрою прокси SOCKS через другой сервер, который имеет статический IP ииспользуйте этот IP-адрес, чтобы знать, что вы можете получить доступ из любого места, если это необходимо.

Надеюсь, это поможет.

0 голосов
/ 12 мая 2011

Другой вариант - использовать специальный порт администратора для доступа к вашему сайту и оставить его за простой http-аутентификацией. Это зависит от того, какой тип сервера вы используете, но, по сути, вам нужно что-то вроде этого (предупреждение, псевдо-конфигурация):

listen 81
AuthType Basic
AuthName "Admin site"
AuthUserFile /usr/local/apache/passwd/passwords
Require user

И просто убедитесь, что директива виртуального хоста не проверяет существование файла maintenance.html, как это делает ваш обычный сайт. Затем он должен аккуратно обойти обычный сайт, и он защищен паролем для загрузки.

...