java – Docker – 在HTTPS上运行Jetty

前端之家收集整理的这篇文章主要介绍了java – Docker – 在HTTPS上运行Jetty前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用SSL配置我的Jetty.现在我只是坚持为什么它不能在HTTPS上连接.它在HTTP上工作正常.

${JETTY_HOME}/etc/jetty-https.xml

${JETTY_HOME}/etc/jetty-ssl.xml

运行docker ps -a之后:

  1. root@myserver:/home/deploy/frontend/src/app/environments# docker ps -a
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 9bf8f257f8ac jetty "/docker-entrypoint.s" 2 days ago Up 14 minutes 0.0.0.0:80->8080/tcp,0.0.0.0:443->8443/tcp jetty

最后我的

${JETTY_HOME}/etc/jetty.xml

我对Jetty很新,似乎无法在线找到答案,因为所有这些文件都是自动生成的,所以我不确定我能删除什么,不能删除.

有任何想法吗?

(注意:在我的/var/lib/jetty/start.d中只有http.ini存在(不确定是否应该有https.ini))

我的防火墙状态:

  1. Status: active
  2. To Action From
  3. -- ------ ----
  4. Anywhere ALLOW somesubnet/24
  5. 22 ALLOW Anywhere
  6. 300 ALLOW Anywhere
  7. 3000 ALLOW Anywhere
  8. 3001 ALLOW Anywhere
  9. 3002 ALLOW Anywhere
  10. 3003 ALLOW Anywhere
  11. 80 ALLOW Anywhere
  12. 443 ALLOW Anywhere
  13. 8443 ALLOW Anywhere
  14. 443/tcp ALLOW Anywhere
  15. 521 ALLOW Anywhere
  16. 80,443/tcp ALLOW Anywhere
  17. 22 (v6) ALLOW Anywhere (v6)
  18. 300 (v6) ALLOW Anywhere (v6)
  19. 3000 (v6) ALLOW Anywhere (v6)
  20. 3001 (v6) ALLOW Anywhere (v6)
  21. 3002 (v6) ALLOW Anywhere (v6)
  22. 3003 (v6) ALLOW Anywhere (v6)
  23. 80 (v6) ALLOW Anywhere (v6)
  24. 443 (v6) ALLOW Anywhere (v6)
  25. 8443 (v6) ALLOW Anywhere (v6)
  26. 443/tcp (v6) ALLOW Anywhere (v6)
  27. 521 (v6) ALLOW Anywhere (v6)
  28. 80,443/tcp (v6) ALLOW Anywhere (v6)
  29. 443/tcp ALLOW OUT Anywhere
  30. 3000 ALLOW OUT Anywhere
  31. 443/tcp (v6) ALLOW OUT Anywhere (v6)
  32. 3000 (v6) ALLOW OUT Anywhere (v6)

我使用的Docker命令:

  1. docker run -d --name=jetty -p 80:8080 -p 443:8443 -v /home/deploy/backend/my-server/target/my-server-0.0.1-SNAPSHOT.war:/var/lib/jetty/webapps/root.war -v /home/deploy/backend/ssl:/etc/ssl/private jetty

它在http://my-server.com上运行良好,但不会在https://my-server.com上加载

最佳答案
即使jetty main page on Docker Hub显示容器应该使用docker run -d -p 80:8080 -p 443:8443 jetty运行,看起来默认情况下没有为HTTPS配置映像.

如您所知,/ var / lib / jetty / start.d中应该有一个https.ini文件.您可以通过在容器中运行命令java -jar“$JETTY_HOME / start.jar”–add-to-startd = https来生成一个.

将此命令放在Dockerfile中:

  1. FROM jetty
  2. RUN java -jar "$JETTY_HOME/start.jar" --add-to-startd=https

构建新图像:

  1. docker build -t my-server .

最后启动你的服务器:

  1. docker run -d --name=jetty -p 80:8080 -p 443:8443 -v /home/deploy/backend/my-server/target/my-server-0.0.1-SNAPSHOT.war:/var/lib/jetty/webapps/root.war -v /home/deploy/backend/ssl:/etc/ssl/private my-server

这应该允许您使用HTTPS连接到您的服务器.

您可以在this Github issue找到更多相关信息.

猜你在找的Docker相关文章