Продолжаю тестировать онлайн ide'шку cloud9. Очень понравился продукт - разработчикам большой респект. Но есть маленькая проблема - вход осуществляется без какой либо идентификации пользователя. Т.к. мой компьютер смотрит в мир одним концом с белый ip-адресом это чревато дополнительными атаками и возможностью стороннему человеку испортить мне жизнь, удалив или внеся какие-либо изменения в сохраненные проекты.
Как вариант решения я обратился к моему apache, у которого есть возможность проксивать запросы на др.сервис с помощью mod_proxy. На момент, когда я решил сделать задуманное эти модули у меня в системе уже были установлены и настроены для работы, поэтому здесь не будет описания как скачать и установить их.
Первым делом переопределил один из поддоменов смотреть на меня. Создал доп.конфигурацию сайта в apache, например, /etc/apache2/sites-enabled/cloud9
<VirtualHost *:80>
ServerName cloud9.example.com
<location />
AuthName "Authentication required"
AuthType Basic
Require valid-user
AuthUserFile /var/www/.htpasswd
</location>
ProxyPreserveHost off
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>
Следующим шагом будет создание файла .htpasswd для осуществления аутентификации пользователя:
~# htpasswd -c /var/www/.htpasswd username
В дополнение работы команды хочу отметить, что ключ "-с" создает файл, если он уже был создан ранее, что этот ключ не нужно указывать. Второй момент путь к файлу для хранения паролей нужно выбрать так, чтобы его смог найти и получить права на чтение apache. Третий момент - вместо "username" указываем свой логин и после нажатия клавиши enter будет предложено ввести пароль, который будет закреплен за данным пользователем.
Теперь нужно проверить настройки cloud9, а точнее строку инициализации - у меня в качестве параметров указан путь для каталога проектов.
Последним действием будет перезапуск apache:
~# /etc/ini.d/apache2 restart
Вот и все. Теперь из мира никто не может попасть на мой cloud9ide без предварительной аутентификации.
Комментариев нет:
Отправить комментарий