сервер lein ring-без головы — прослушивает только localhost?

#clojure #leiningen #ring

#clojure #leiningen #кольцо

Вопрос:

У меня есть проект Clojure с использованием lein-ring и веб-фреймворка compojure, который я запускаю с помощью lein ring server-headless команды. Он выдает следующий вывод:

2014-06-28 19:37:50.236:ИНФОРМАЦИЯ:oejs.Сервер: jetty-7.6.8.v20121106 2014-06-28 19:37:50.315:ИНФОРМАЦИЯ:oejs.AbstractConnector: запущен SelectChannelConnector@0.0.0.0:3000 Запущен сервер на порту 3000

Я как бы только что понял, что это прослушивание 0.0.0.0 . A netstat -nltp подтверждает это:

tcp6 0 0 :::3000 :::* СЛУШАТЬ 31781/java

Возможно ли lein ring server-headless прослушивать только localhost?

Ответ №1:

Чтобы настроить Jetty для прослушивания только определенного интерфейса, добавьте :host ключ в :ring {:handler ...} карту в вашем project.clj. Значением должно быть имя хоста или IP-адрес интерфейса, на котором должен прослушиваться Jetty. Например, :ring {:handler yourapp.handler/app :host "localhost"} для прослушивания только на localhost.

Комментарии:

1. Извиняюсь за поздний ответ. Ваше решение работает отлично. Спасибо!