كيف يمكنني جعل Compojure الاستماع إلى IP واحد

StackOverflow https://stackoverflow.com/questions/1166028

  •  19-09-2019
  •  | 
  •  

سؤال

لقد بدأت خادم Compojure (Jetty) مع:

(defonce *server* (run-server {:host "localhost" :port 8080} "/*" (servlet routes)))

لكن Netstat لا تزال تظهر أنها تستمع عند 0.0.0.0:8080، أي جميع IPS.

ما هو المعلمة الصحيحة لتمرير خادم التشغيل لجعله يستمع إلى IP واحد؟

هل كانت مفيدة؟

المحلول

أعتقد أنك ستضطر إلى التصحيح Compojure. لا يفعل أي شيء مع :host معامل. جعل هذا التغيير إلى server/jetty.clj يبدو أن العمل، لكنني لم اختبرها جيدا.

(Defn- إنشاء خادم "إنشاء مثيل خادم Jetty". [خيارات الخيارات] (دع [Options (خيارات: المنفذ 80) المضيف (الخيارات: المضيف "0.0.0.0") موصل (Doto (Org.mortbay.jetty.bio .socketconnector.) (منفذ Worksetport) ( )) (موصل Add-SSL! خيارات الخادم)) (DOSEQ [[url-or-path servlet] servlets] (Add-servlet! خادم URL-OR-PATH Serverlet)) Server))
user> (run-server {:port 12346})
2009-07-22 13:48:53.999::INFO:  jetty-6.1.15
2009-07-22 13:48:54.002::INFO:  Started SocketConnector@0.0.0.0:12346
nil
user> (run-server {:host "127.0.0.1" :port 12345})
2009-07-22 13:48:08.061::INFO:  jetty-6.1.15
2009-07-22 13:48:08.129::INFO:  Started SocketConnector@127.0.0.1:12345
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top