javalin / javalin-ssl

Straightforward SSL Configuration for Javalin!
https://javalin.io/plugins/ssl-helpers
10 stars 1 forks source link

SSL Plugin always tries to bind to 0.0.0.0:80 even when other host & port are configured #122

Closed franck-malka closed 7 months ago

franck-malka commented 8 months ago

config.plugins.register(new SSLPlugin(conf -> { conf.pemFromPath("keys/cert.pem", "keys/key.pem", "----"); conf.insecurePort = 8080; conf.securePort = 60443; conf.host = host; conf.http2 = false; conf.insecure = false; conf.secure = true; conf.insecure=false;
}));


[main] ERROR io.javalin.Javalin - Failed to start Javalin 2024-01-10 16:06:49,253|FATAL|c.s.m.aef.sms.app|main|main|117|{} Port already in use. Make sure no other process is using port 80 and try again. io.javalin.util.JavalinBindException: Port already in use. Make sure no other process is using port 80 and try again. at io.javalin.Javalin.start(Javalin.java:182) ~[javalin-5.6.3.jar:5.6.3] at co.slicce.microservices.aef.sms.api.server.start(server.java:164) ~[classes/:?] at co.slicce.microservices.aef.sms.app.initHttpServer(app.java:245) ~[classes/:?] at co.slicce.microservices.aef.sms.app.main(app.java:91) [classes/:?] Caused by: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:80 at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:344) ~[jetty-server-11.0.17.jar:11.0.17] at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:304) ~[jetty-server-11.0.17.jar:11.0.17] at org.eclipse.jetty.server.Server.lambda$doStart$0(Server.java:402) ~[jetty-server-11.0.17.jar:11.0.17] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?] at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[?:?] at org.eclipse.jetty.server.Server.doStart(Server.java:398) ~[jetty-server-11.0.17.jar:11.0.17] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) ~[jetty-util-11.0.18.jar:11.0.18] at io.javalin.jetty.JettyServer.start(JettyServer.kt:82) ~[javalin-5.6.3.jar:5.6.3] at io.javalin.Javalin.start(Javalin.java:171) ~[javalin-5.6.3.jar:5.6.3] ... 3 more Caused by: java.net.SocketException: Permission denied at sun.nio.ch.Net.bind0(Native Method) ~[?:?] at sun.nio.ch.Net.bind(Net.java:459) ~[?:?] at sun.nio.ch.Net.bind(Net.java:448) ~[?:?] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) ~[?:?] at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:339) ~[jetty-server-11.0.17.jar:11.0.17] at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:304) ~[jetty-server-11.0.17.jar:11.0.17] at org.eclipse.jetty.server.Server.lambda$doStart$0(Server.java:402) ~[jetty-server-11.0.17.jar:11.0.17] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?] at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[?:?] at org.eclipse.jetty.server.Server.doStart(Server.java:398) ~[jetty-server-11.0.17.jar:11.0.17] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) ~[jetty-util-11.0.18.jar:11.0.18] at io.javalin.jetty.JettyServer.start(JettyServer.kt:82) ~[javalin-5.6.3.jar:5.6.3] at io.javalin.Javalin.start(Javalin.java:171) ~[javalin-5.6.3.jar:5.6.3] ... 3 more

zugazagoitia commented 8 months ago

First of all sorry for the late reply.

I'm sorry but I can't replicate this issue. I set up two instances, one in port 80 to use it and I can also run Javalin with the configuration you provided. Would you happen to have some extra configuration other than the SSLPlugin one?

I'm also able to bind it with a host. All using version 5.6.3 for both the plugin and the server.

Running Javalin

```log 10:52:17.220 [main] INFO io.javalin.Javalin - Starting Javalin ... 10:52:17.287 [main] INFO org.eclipse.jetty.server.Server - jetty-11.0.17; built: 2023-10-09T18:39:14.424Z; git: 48e7716b9462bebea6732b885dbebb4300787a5c; jvm 17.0.9+9 10:52:17.312 [main] INFO o.e.j.s.s.DefaultSessionIdManager - Session workerName=node0 10:52:17.317 [main] INFO o.e.j.server.handler.ContextHandler - Started i.j.j.@12ed9db6{/,null,AVAILABLE} 10:52:17.321 [main] INFO o.e.jetty.server.AbstractConnector - Started ServerConnector@1722011b{HTTP/1.1, (http/1.1)}{0.0.0.0:80} 10:52:17.330 [main] INFO org.eclipse.jetty.server.Server - Started Server@7cbd9d24{STARTING}[11.0.17,sto=0] @308ms 10:52:17.330 [main] INFO io.javalin.Javalin - __ ___ ______ / /___ __ ______ _/ (_)___ / ____/ __ / / __ `/ | / / __ `/ / / __ \ /___ \ / /_/ / /_/ /| |/ / /_/ / / / / / / ____/ / \____/\__,_/ |___/\__,_/_/_/_/ /_/ /_____/ https://javalin.io/documentation 10:52:17.332 [main] INFO io.javalin.Javalin - Listening on http://localhost:80/ 10:52:17.336 [main] INFO io.javalin.Javalin - You are running Javalin 5.6.3 (released October 15, 2023. Your Javalin version is 94 days old. Consider checking for a newer version.). 10:52:17.336 [main] INFO io.javalin.Javalin - Javalin started in 117ms \o/ 10:52:17.604 [main] INFO io.javalin.Javalin - Starting Javalin ... 10:52:17.604 [main] INFO org.eclipse.jetty.server.Server - jetty-11.0.17; built: 2023-10-09T18:39:14.424Z; git: 48e7716b9462bebea6732b885dbebb4300787a5c; jvm 17.0.9+9 10:52:17.605 [main] INFO o.e.j.s.s.DefaultSessionIdManager - Session workerName=node0 10:52:17.605 [main] INFO o.e.j.server.handler.ContextHandler - Started i.j.j.@64d43929{/,null,AVAILABLE} 10:52:17.608 [main] INFO o.e.jetty.server.AbstractConnector - Started ServerConnector@20921b9b{SSL, (ssl, http/1.1)}{127.0.0.1:60443} 10:52:17.608 [main] INFO org.eclipse.jetty.server.Server - Started Server@31be6b49{STARTING}[11.0.17,sto=0] @587ms 10:52:17.608 [main] INFO io.javalin.Javalin - __ ___ ______ / /___ __ ______ _/ (_)___ / ____/ __ / / __ `/ | / / __ `/ / / __ \ /___ \ / /_/ / /_/ /| |/ / /_/ / / / / / / ____/ / \____/\__,_/ |___/\__,_/_/_/_/ /_/ /_____/ https://javalin.io/documentation 10:52:17.608 [main] INFO io.javalin.Javalin - Listening on https://127.0.0.1:60443/ 10:52:17.608 [main] INFO io.javalin.Javalin - You are running Javalin 5.6.3 (released October 15, 2023. Your Javalin version is 94 days old. Consider checking for a newer version.). 10:52:17.608 [main] INFO io.javalin.Javalin - Javalin started in 5ms \o/ ```

zugazagoitia commented 8 months ago

I added an extra check in my testing, but no luck replicating this.

zugazagoitia commented 7 months ago

Closing, feel free to reopen.