1

次の呼び出しを使用して Web サーバーを実行しようとしています

(run-jetty #'handler {:ホスト "ホスト名" :ポート 8080})

これにより、同じホストからアクセスできるサーバーが起動しますが、外部からはアクセスできません。私は EC2 インスタンスでこれを行っており、そのマシンの内部 IP を「ホスト名」として使用しています。ポート 8080 は外部アクセス用に開いています。また、ホスト名として「0.0.0.0」を使用してみましたが、同じ動作になりました。

少し古いバージョンの ring-jetty-adapter (0.2.5) を使用していますが、それを変更することはできません。

どんな助けでも大歓迎です!

4

3 に答える 3

2

:hostオプションをまったく指定しないでください。その場合、Jettyはすべてのインターフェースでリッスンしているようです。たとえば、私は4clojureを手伝っています。そこにあるウェブサーバーは、サーバーraynes.meのポート8080で実際に実行されており、ホストHTTPリクエストが4clojure.comの場合、ポート80を転送するnginxの魔法があります。必要に応じて直接アクセスできます。http://raynes.me :8080は正常に機能します。これが、突堤の呼び出しです。

(run-jetty (var app) {:join? false :port 8080})
于 2011-07-09T06:04:33.687 に答える
2

アクセスして非公開にするには、実行できます

ssh -L 8080:localhost:8080 your.ec2.instance

次に、ブラウザを開いてhttp://localhost:8080/myapp/

元の質問: 外部 IP またはホスト名を「ホスト名」として使用すると役立つ場合がありますか?

于 2011-07-09T02:28:42.467 に答える
0

返信してくれてありがとう、突堤の問題ではなかったことがわかりました。私はこれをEC2で実行し、この特定のインスタンスが属していたものとは異なるセキュリティグループにポートアクセス許可を適用していました:)

于 2011-07-10T02:52:38.040 に答える