2017-05-25 2 views
1

Je déploie une application de jetée embarquée sur Heroku et il écoute sur le port 80 pour http. Cependant, au démarrage j'ai lu le System.getenv ("PORT") valeur et initialiser le serveur de la jetée en utilisant cette valeur de port, comme ceci:Déploiement Heroku: port jetty embarqué

if (isproduction) { 
     LOGGER.log(Level.INFO, "System.getenv(\"PORT\"):{0}", System.getenv("PORT")); 
     port = Integer.valueOf(System.getenv("PORT")); 
     baseurl = "http://xxxx-xxxx.herokuapp.com"; 
    } 

    LOGGER.log(Level.INFO, "Starting jetty on port: {0}", port); 
    final Server jettyServer = new Server(port); 
    jettyServer.setHandler(context); 

Les impressions ci-dessus

2017-05-25T17:34:02.943531+00:00 app[web.1]: INFO: System.getenv("PORT"):45203 
2017-05-25T17:34:02.945234+00:00 app[web.1]: INFO: Starting jetty on port: 45203 

Cependant, heroku open de la ligne de commande ouvre l'application au port 80. Ce n'est pas vraiment un problème (l'application est entièrement opérationnelle) mais c'est un comportement inattendu. Quelqu'un peut-il faire la lumière sur ce qui se passe?

Répondre

0

En regardant itscode, heroku open ne prend pas en charge les ports personnalisés.

+0

bien, ok mais la chose est, le mien n'est pas un port personnalisé. System.getenv ("PORT") est une variable d'environnement définie par Heroku au démarrage. En outre, la question est pourquoi l'application écoute le port 80 lorsque le serveur jetée est démarré en utilisant un port différent – chrisl08

+0

Que voulez-vous dire écoute sur 80? Comment dites-vous? – Bartosz

+0

J'ouvre un navigateur et visite la page d'accueil du site de la jetée déployée sur heroku – chrisl08