Ssl
綁定失敗:/0.0.0.0:443
我在埠 443 上啟動我的播放框架伺服器時遇到問題,我正在使用 scala play 2.20,我的播放伺服器通過以下命令在埠 9443 上執行良好
./start -Dhttps.port=9443 -Dhttps.keyStore=/home/ubuntu/ssl/tomcat.keystore -Dhttps.keyStorePassword=mypasswd
但是當我想通過以下命令在埠 443 上執行播放伺服器時
./start -Dhttps.port=9443 -Dhttps.keyStore=/home/ubuntu/ssl/tomcat.keystore -Dhttps.keyStorePassword=mypasswd
它給了我錯誤
Play server process ID is 12425 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/ubuntu/web-1.0-SNAPSHOT/lib/org.slf4j.slf4j- log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/ubuntu/web-1.0-SNAPSHOT/lib/ch.qos.logback.logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] log4j:WARN No appenders could be found for logger (com.jolbox.bonecp.BoneCPConfig). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Oops, cannot start the server. org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:443 at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272) at play.core.server.NettyServer$$anonfun$11.apply(NettyServer.scala:143) at play.core.server.NettyServer$$anonfun$11.apply(NettyServer.scala:140) at scala.Option.map(Option.scala:145) at play.core.server.NettyServer.<init>(NettyServer.scala:140) at play.core.server.NettyServer$.createServer(NettyServer.scala:242) at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:279) at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:274) at scala.Option.map(Option.scala:145) at play.core.server.NettyServer$.main(NettyServer.scala:274) at play.core.server.NettyServer.main(NettyServer.scala) Caused by: java.net.SocketException: Permission denied at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:444) at sun.nio.ch.Net.bind(Net.java:436) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.jboss.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193) at org.jboss.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:366) at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:290) at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)
引起:java.net.SocketException:權限被拒絕
您需要成為 root(超級使用者)才能綁定到 1024 下的埠。這就是 9443 有效但 443 無效的原因。