当前位置: 首页 > 知识库问答 >
问题:

如何使用嵌入式tomcat在Spring Boot应用程序中设置域名

严开宇
2023-03-14

我正在用嵌入式tomcat在spring boot中开发一个应用程序。在我的本地服务器上,它运行在8080端口上,我可以给出url<code>http://locahost:8080。如何将此更改为我的域?比如<code>www.mydomain。com,其工作原理应与localhost类似。如何配置?我使用的是嵌入式tomcat,而不是外部安装的tomcat服务器。

共有3个答案

龙令
2023-03-14

您不必在应用程序中的任何位置指定域名。

在SpringBoot项目中打开application.properties文件(在src/main/Resources下)

并配置要在其上运行应用程序的端口

server.port = XXXX

其中XXXX是端口号。(如果您不想在访问应用程序时提供端口,则为80)

唯一需要做的额外配置是更新DNS以将mydomain.com指向您机器的IP地址。现在,由于您使用的是本地计算机,您可以通过编辑主机文件(C:\Windows\System32\驱动程序\etc)来保持此映射来测试重定向是否有效。

注意:只有当您仅从计算机访问域时,此编辑才允许您进行测试。

都才俊
2023-03-14

如果您将此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触发

吴腾
2023-03-14

首先你需要注册一个域名。

然后,您需要在本地或云中拥有一台计算机,其公共 IP 地址映射到您注册的域,并且该计算机打开了正确的端口 (80)。

然后,您需要启动Spring Boot应用程序以在端口80而不是8080上运行。您可以通过使用 CLI 参数 --server.port=80 或在 application.properties 文件或 application.yaml 文件中添加 server.port=80 来执行此操作

 类似资料: