Есть ли в Rails 5.1.7 обеспечение безопасности, которое не позволило бы мне добраться до localhost? - PullRequest
0 голосов
/ 11 февраля 2020

После принудительного обновления до Ma c ОС Sierra от Lion я пытаюсь перейти с Rails 2.3.18 (ruby 1.8.7) на Rails 5.1.7. Приложение отлично работало на Lion с Apache 2.2.15, выходящим на Mongrel Cluster с MySQL 5.6.15. Внешний интерфейс написан на AS3 Fla sh (это большое приложение).

При обновлении до ОС Maier 1040 *, установленной Apple, Apache 2.4.28. Затем я использовал rvm и brew, чтобы получить Rails 5.1.7 (ruby 2.4.1) и камень MySQL 2 вместе с passenger и отредактировал файл conf Apache соответствующим образом. Apache пожаловался, что мое приложение небезопасно (оно находится под /Library/WebServer) и что ruby (brew имеет его в моем каталоге пользователя) было небезопасным и не запустилось. Сообщение об ошибке указывало, что я должен изменить разрешения для всех задействованных каталогов на root. Попробовал это, и Apache запустится, но дал мне только страницу с сообщением о том, что я не авторизован localhost. Apple также переписала мой предыдущий openSSL 1.1 с openssl.0.9.8. Я выполнил установку brew 1.1.1d и сгенерировал новый самозаверяющий сертификат.

С тех пор я загрузил mod-passenger в Apache с такими же результатами.

Затем я нашел блог на сайте Phusion Passenger и следил за их настройкой для использования Passenger Stand Alone с SSL (Я создал другой набор pems, следуя их инструкциям, и загрузил их в цепочку ключей). Попытка запустить пассажира, я получил это ...

$ sudo passenger start --ssl --daemonize --environment development --ssl-certificate ~/certs/newcert.pem --ssl-certificate-key ~/certs/newkey.pem --port 443
Password:

*** ERROR: the Nginx configuration that Phusion Passenger Standalone generated internally contains problems. The error message returned by the Nginx engine is:

    nginx: the configuration file nginx.conf syntax is ok
    nginx: [emerg] bind() to 0.0.0.0:443 failed (13: Permission denied)
    nginx: configuration file nginx.conf test failed

Это, вероятно, означает, что вы обнаружили ошибку в Phusion Passenger Standalone. Пожалуйста, сообщите об этой ошибке на наш трекер Github: https://github.com/phusion/passenger/issues

Опять же, вы заметите, что в разрешении отказано.

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

Я чувствую, что имею дело с настройкой Apple, и ничего в их поддержке, по крайней мере, что я смог найти, не поможет.

Но мне просто интересно, есть ли у Rails безопасность, которую я не рассматриваю. Это мой вопрос.

Извините, что был настолько многословен, но, пожалуйста, помните, что я писал это более 10 лет go, когда рельсы действительно только начинались, поэтому я новичок ie снова.

1 Ответ

0 голосов
/ 12 февраля 2020

Вы еще ничего не используете на порту 443, не так ли?

sudo lsof -i tcp:443 -stcp:listen

Обычно вы получаете другую ошибку, но в любом случае стоит проверить.

Lion довольно старый, но на нем установлен брандмауэр приложения. Вы уверены, что брандмауэр вашей машины настроен правильно? Обычно, когда вы запускаете что-то, что слушает порт, вы увидите это всплывающее окно:

PopupAcceptIncomingConnections

Однако, если вы нажали кнопку «Запретить» Это остается отказано. Итак, go в Системные настройки> Безопасность и конфиденциальность. Нажмите на замок внизу слева, чтобы разблокировать настройки, затем нажмите «Параметры брандмауэра». Вы должны увидеть это: enter image description here

Пусть Ruby принимает входящие соединения, а также nginx, et c. Это необходимо сделать для тех приложений, которые не подписаны и не являются встроенными, что в значительной степени полезно для установки brew.

Нажмите «ОК» и повторите попытку. Если появится всплывающее окно, выберите «Разрешить», в противном случае шампунь, ополосните и повторите этот ответ.

Конечно, вы можете просто отключить брандмауэр. Не делай этого. Серьезно.

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

Проверьте Это делает c от Apple для почти такой же информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...