1
我在Heroku上部署嵌入式碼頭應用程序,並在端口80上偵聽http。然而,在啓動時我讀System.getenv( 「PORT」)值,並使用該端口值初始化碼頭服務器,像這樣:Heroku部署:嵌入式碼頭端口
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);
上面打印
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
然而,從heroku open
命令行在端口80打開應用程序。這不是一個真正的問題(應用程序完全可操作),但這是意外的行爲。任何人都可以瞭解發生了什麼事情?
好吧,但事情是,我的不是一個自定義的端口。 System.getenv(「PORT」)是Heroku在啓動時設置的一個環境變量。此外,問題是爲什麼當碼頭服務器開始使用不同的端口時,應用程序監聽端口80 – chrisl08
您在80上聽什麼意思?你怎麼看? – Bartosz
我打開一個瀏覽器並訪問部署在heroku上的jetty站點的歡迎頁面 – chrisl08