Spring Bootconfiguration一个域/主机以www.website.com的方式访问

我有一个春季启动应用程序。 通常,我在PaaS实例上运行我的Spring应用程序,并从中configuration一个域名非常简单,但是我在虚拟专用服务器上运行这个服务,而且在我的生活中,我无法弄清楚如何运行我的spring boot所以可以通过域名访问。

我已经改变了我的DNS设置,所以它指向我的虚拟专用服务器,这个VPS也运行一些其他基于Apache的静态网站,我非常相信我的DNS设置是正确的。

我的spring引导应用程序使用spring-boot-starter-tomcat运行 ,应用程序部署良好,我可以抓住我的.war文件并在服务器上使用java -jar myApplication.jar进行部署。

该应用程序也可以通过在浏览器上编写my.server.ip:8080进行远程访问。

但是,我一直在使用Googlesearch,无法弄清楚如何configurationSpring Boot,以便使用我的域名,这样我就可以以标准的方式访问网站: www.mywebsite.com ,或者更好也添加一个别名,所以mywebsite.comwww.mywebsite.com都是有效的。

任何人都可以指向正确的方向吗? 我知道这可以在Tomcat中完成,但我不知道如何configuration它。

由于这是一个Spring Boot应用程序,我没有.xml文件,所以我的Spring Bootconfiguration位于application-prod.yml文件中,而我使用的唯一.xml文件就是pom.xml本身。

任何帮助将不胜感激。

技术上你可以在Tomcat中做到这一点。 但是,要使用端口80或443启动应用程序,则必须使用root权限运行该应用程序。 因此,我建议配置Apache HTTP或Nginx服务器作为反向代理(你可以找到许多教程)。

由于缺乏回应,我决定采用敦尼提出的方法。

下面是我用Nginx做的:

我去了一个干净的Windows安装nginx/conf/nginx.conf

然后我改变了一些东西,这里是我完整的nginx.conf文件:

nginx.conf

 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; include C:/path-to-nginx/nginx/conf/sites-enabled/*.conf; } 

然后,我在nginx/conf/sites-enabled创建了文件夹sites-enabled

我开始在文件夹sites-enabled里面创建mywebsite.conf

mywebsite.conf

 server { server_name mywebsite.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080; } } 

在这一点上,如果一切正常完成,你应该能够访问你的Tomcat应用程序! 我用了很多引用,所以我会把它们放在下面:


http://www.mkyong.com/nginx/nginx-apache-tomcat-configuration-example/

http://javadeveloper.asia/configuring-nginx-in-front-of-tomcat-or-other-java-application-server

http://nginx.org/en/docs/windows.html

nginx Windows:设置网站可用的配置

干杯。