2017-11-24 8 views
1

私はJerseyと組み込みコンテナ(私の場合はJdk HTTP)を使用しています。適切なポートをリッスンしている任意のサーバー上で実行するためにUri文字列を適切に設定するにはどうすればよいですか?実行可能なJARをAWS上で実行するためのURIを構築する方法

public class App { 
    static Logger log = LoggerFactory.getLogger(getClass()) 

    public static void main(String[] args) throws Exception { 

     // runs locally 
     URI uri = UriBuilder.fromUri("http://localhost/").port(8080).build(); 

     ResourceConfig config = ResourceConfig(MyStuff.class); 
     HttpServer server = JdkHttpServerFactory.createHttpServer(uri, config); 

     log.info("App started at ${uri.host}:${uri.port}. Press <enter> to terminate.") 

     Reader reader = new InputStreamReader(System.in); 
     reader.read(); 
     server.stop(0); 
    } 
} 

私はAWS ElasticBeanstalkに、デフォルトのスターターElasticBeanstalkインスタンスを作成してデプロイしています。

1)私のURIをEBとローカルで動作するように設定する方法はありますか? 2)そうでない場合は、EBで実行するための正しい設定は何ですか?

答えて

1

http://localhost:5000/は、Elastic BeanstalkでスタンドアロンのJavaアプリケーションを実行するための正しいURI /ポートです。 EBインスタンスには、各インスタンスにnginxプロキシがあり、HTTPリクエストを受け取り、ポート5000でJavaサーバーに渡します。

以下のAWSで実行する正しいコード。ポート5000はデフォルトですが、上書きすることができます。

URI uri = UriBuilder.fromUri("http://localhost/").port(5000).build(); 
関連する問題