我正在用嵌入式tomcat在spring boot中开发一个应用程序。在我的本地服务器上,它运行在8080端口上,我可以给出url<code>http://locahost:8080。如何将此更改为我的域?比如<code>www.mydomain。com,其工作原理应与localhost类似。如何配置?我使用的是嵌入式tomcat,而不是外部安装的tomcat服务器。
您不必在应用程序中的任何位置指定域名。
在SpringBoot项目中打开application.properties
文件(在src/main/Resources
下)
并配置要在其上运行应用程序的端口
server.port = XXXX
其中XXXX是端口号。(如果您不想在访问应用程序时提供端口,则为80)
唯一需要做的额外配置是更新DNS以将mydomain.com指向您机器的IP地址。现在,由于您使用的是本地计算机,您可以通过编辑主机文件(C:\Windows\System32\驱动程序\etc
)来保持此映射来测试重定向是否有效。
注意:只有当您仅从计算机访问域时,此编辑才允许您进行测试。
如果您将此spring boot应用程序部署为主要服务,而不是在已安装ApacheWeb服务器的服务器上运行,则可以手动设置端口80,用于HTTP请求。443是加密的,因此是HTTPS。您可以在服务器的防火墙上设置这些设置。
但是,如果这个Spring启动应用程序碰巧是一个类似于API的东西,其中它只是您想从服务器上的网站(在Apache Web Server之类的东西上运行)访问的endpoint,您将需要设置一个反向代理,否则他们都将尝试使用端口80:
https://medium.com/@codebyamir/using-apache-as-a-reverse-proxy-for-spring-boot-embedded-tomcat-f704da73e7c8
因此,您应该在Spring应用程序(运行嵌入式tomcat服务器)上将端口保留为8080,并且您的Apache Web服务器应该使用端口80来访问您的网站www.mydomain.com。
因此,代理将把传入的HTTP请求重定向到端口8080的Tomcat服务,因此endpoint将通过www.mydomain.com/api-end-point-here触发
首先你需要注册一个域名。
然后,您需要在本地或云中拥有一台计算机,其公共 IP 地址映射到您注册的域,并且该计算机打开了正确的端口 (80)。
然后,您需要启动Spring Boot应用程序以在端口80而不是8080上运行。您可以通过使用 CLI 参数 --server.port=80
或在 application.properties 文件或 application.yaml 文件中添加 server.port=80
来执行此操作。
我正在尝试创建一个Spring Boot应用程序,除了当我访问localhost:8080时必须插入用户名和密码外,所有的东西都运行得很好。我不知道如何从我的应用程序向嵌入式tomcat添加一个新的tomcat用户。 这是我的pom XML: 下面是tomcat可见的项目结构:
我有时会在pom中看到以下声明。xml。。。 如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。 是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?
我有Kafka Streams java应用程序启动并运行。我试图使用KSQL创建简单的查询,并使用Kafka流来实现复杂的解决方案。我希望将KSQL和Kafka流作为Java应用程序运行。 我打算通过https://github.com/confluentinc/ksql/blob/master/ksqldb-examples/src/main/java/io/confluent/ksql/em
这是pom.xml的配置: 编辑:我在日志顶部有以下stacktrace:
我有一个Java的应用程序,显示Apache Tomcat Embed为9.0.35版本。我需要将其更新到10.0.4。我对Java很陌生,对它知之甚少。需要此升级来解决应用程序中的一些漏洞。 我如何在IntelliJ IDE上实现这一点?