Назад | Перейти на главную страницу

Пытаясь настроить SSL для приложения Ruby on Rails, Mac Lion говорит, что порты 80 и 443 уже используются. Как мне отлаживать / решать проблемы?


На картинке выше мой вывод на консоль, который происходит, когда я запускаю

sudo /usr/sbin/apachectl restart

когда я вручную запускаю и останавливаю apache, в консоли нет сообщений о синтаксических ошибках или других сообщениях. Итак, как мне отладить это?

РЕДАКТИРОВАТЬ: список вещей, использующих порты

$ sudo lsof -i:80
Password:
COMMAND PID USER   FD   TYPE      DEVICE SIZE/OFF NODE NAME
httpd   734 root    5u  IPv6 0xf..0      0t0  TCP *:http (LISTEN)
httpd   736 _www    5u  IPv6 0xf..0      0t0  TCP *:http (LISTEN)
httpd   774 root    4u  IPv4 0xf..0      0t0  TCP *:http (LISTEN)
httpd   777 _www    4u  IPv4 0xf..0      0t0  TCP *:http (LISTEN)
httpd   822 _www    4u  IPv4 0xf..0      0t0  TCP *:http (LISTEN)

это точно также и для -i: 443. Почему так много httpds? разве не должно быть только одного? (для каждой версии IP, я думаю)

при просмотре IP-адреса моего сервера в (ваш любимый веб-браузер) он просто сообщает «Внутренняя ошибка сервера».

А затем консоль на сервере сообщает "nstat_lookup_entry failed 2" = \

Из вашего снимка экрана кажется, что сбойная операция пытается привязать к IPv6-эквиваленту 0.0.0.0, т.е. [::]. Также кажется, что привязка к IPv4 "адресу" 0.0.0.0 удается. Итак, после запуска вашего приложения Rails проверьте вывод netstat -64tulpen (или соответствующий эквивалент в OS X) и посмотрите, действительно ли он не прослушивает нужные порты. Также попробуйте выяснить, что использует IPv6, привязанный к [::]:80 и [::]:443, и почему.

Очевидно, на вашем MAC уже запущена другая программа. Лучше всего будет Skype, если у вас не установлен другой сервер. Раньше он использовал эти два порта.

Может быть, проще - попробуйте это на терминале, чтобы увидеть, что слушает:

sudo lsof -n -i4TCP:80 | grep LISTEN