Spring boot 如何将jhipster生产网站部署到https?

Spring boot 如何将jhipster生产网站部署到https?,spring-boot,jhipster,Spring Boot,Jhipster,请有人提供清晰的工作说明,将jhipster站点(使用最新版本创建)部署到使用最新LTS ubuntu的服务器上 请注意,我已经阅读了文件和 我可以将服务器端口更改为443 application-prod.yml,但随后会出现一个欠拖错误(我的理解是,在linux服务器上,要从应用程序使用端口443,我必须使用sudo来运行应用程序-我不想/明白我为什么要这样做)。我已经尝试了端口转发(,我同意使用sudo) 但这并没有达到预期的效果 我可以通过(不是真正的ip地址)访问该网站,(但在浏览器[

请有人提供清晰的工作说明,将jhipster站点(使用最新版本创建)部署到使用最新LTS ubuntu的服务器上

请注意,我已经阅读了文件和

我可以将服务器端口更改为443 application-prod.yml,但随后会出现一个欠拖错误(我的理解是,在linux服务器上,要从应用程序使用端口443,我必须使用sudo来运行应用程序-我不想/明白我为什么要这样做)。我已经尝试了端口转发(,我同意使用sudo)

但这并没有达到预期的效果

我可以通过(不是真正的ip地址)访问该网站,(但在浏览器[firefox]中获得自我认证问题)。我尝试使用jhipster指令创建外部证书,但没有成功。jhipster站点有404,或者为实现这一点给出的建议没有安装候选

如何设置jhipster应用程序/服务器以获得无错误的站点地址?是否有我可以遵循的任何有效的、最新的指南/教程

编辑1

在application-prod.yml中将端口号更改为443会在尝试运行时出错:

2020-10-14 16:10:38.151 ERROR 9574 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.boot.web.server.WebServerException: Unable to start embedded Undertow
        at org.springframework.boot.web.embedded.undertow.UndertowServletWebServer.start(UndertowServletWebServer.java:155)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:297)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
        at com.mywebsitename.MywebsitenameApp.main(MywebsitenameApp.java:63)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52) Caused by: java.lang.RuntimeException: java.net.SocketException: Permission denied
        at io.undertow.Undertow.start(Undertow.java:247)
        at org.springframework.boot.web.embedded.undertow.UndertowServletWebServer.start(UndertowServletWebServer.java:141)
        ... 16 common frames omitted Caused by: java.net.SocketException: Permission denied
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:455)
        at java.base/sun.nio.ch.Net.bind(Net.java:447)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80)
        at org.xnio.nio.NioXnioWorker.createTcpConnectionServer(NioXnioWorker.java:190)
        at org.xnio.XnioWorker.createStreamConnectionServer(XnioWorker.java:243)
        at io.undertow.protocols.ssl.UndertowXnioSsl.createSslConnectionServer(UndertowXnioSsl.java:411)
        at io.undertow.Undertow.start(Undertow.java:232)
        ... 17 common frames omitted
这在pom.xml中没有提供,也包括undertow,详见构建可执行JAR/WAR文件一节

我不关心zuul,只参考上面的stackoverflow页面,给出了一个尝试在系统级通过端口8080到443的示例。该示例使用iptables,但这不起作用

在页面上,使用keytool生成证书

这是最新的kubuntu 20.04系统

在页面上提到有一个教程要使用Let's Encrypt,它返回一个404

进一步往下看,建议可以使用Apache HTTP服务器

me@comp:~/mywebsitename$ sudo apt-get install -y apache2 python-certbot-apache
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package python-certbot-apache is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python3-certbot-apache

E: Package 'python-certbot-apache' has no installation candidate

稍后我将添加更多细节。有人知道任何工作指南吗?

请编辑您的问题,并提供更多有关失败的详细信息。你说的是下拖错误,请粘贴它。你在谈论Zuul,你在使用JHipster微服务架构吗?您说您未能使用jhipster指令创建外部证书,但没有给出任何详细信息。我只是在寻找有关如何部署使用https的jhipster应用程序的最新工作指南。(对我来说)jhipster文档似乎不起作用,并且包含旧信息,例如提供404的链接或安装没有候选软件的说明。我会在解决这个问题的过程中添加一些编辑。你可以打开一个github问题来报告断开的链接,其中一些链接不是JHipster特有的基本内容,你可以很容易地找到替代品。我将这些链接作为公会过时性质的一个例子。我很感激能在互联网上寻找解决方案,例如。这可能无法开箱即用,也无法解决端口问题。是否有关于如何将最新jhipster项目部署到最新服务器的指南,然后可以使用诸如(https和未指定端口)之类的地址无误地访问该服务器。对于那些有时间和知识的人来说,通过改进jhipster文档,这是一个为开源项目做出贡献的绝佳机会。:)请编辑您的问题,并提供有关失败的更多详细信息。你说的是下拖错误,请粘贴它。你在谈论Zuul,你在使用JHipster微服务架构吗?您说您未能使用jhipster指令创建外部证书,但没有给出任何详细信息。我只是在寻找有关如何部署使用https的jhipster应用程序的最新工作指南。(对我来说)jhipster文档似乎不起作用,并且包含旧信息,例如提供404的链接或安装没有候选软件的说明。我会在解决这个问题的过程中添加一些编辑。你可以打开一个github问题来报告断开的链接,其中一些链接不是JHipster特有的基本内容,你可以很容易地找到替代品。我将这些链接作为公会过时性质的一个例子。我很感激能在互联网上寻找解决方案,例如。这可能无法开箱即用,也无法解决端口问题。是否有关于如何将最新jhipster项目部署到最新服务器的指南,然后可以使用诸如(https和未指定端口)之类的地址无误地访问该服务器。对于那些有时间和知识的人来说,通过改进jhipster文档,这是一个为开源项目做出贡献的绝佳机会。:)
me@mycomp:~mywebsitename$ sudo apt install keytool
[sudo] password for me: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package keytool
me@comp:~/mywebsitename$ sudo apt-get install -y apache2 python-certbot-apache
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package python-certbot-apache is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python3-certbot-apache

E: Package 'python-certbot-apache' has no installation candidate