Spring Boot配置域/主机以www.website.com方式访问

Eri*_*ick 7 tomcat nginx

我有一个春季启动应用程序.通常我在PaaS实例上运行我的Spring应用程序,从那里配置域名很容易,但是我在虚拟专用服务器上运行它,我不能,在我的生活中,弄清楚如何运行我的春季启动所以它可以通过域名访问.

我已经更改了我的DNS设置,因此它指向我的虚拟专用服务器,此VPS还运行其他一些基于apache的静态网站,我非常有信心我的DNS设置是正确的.

我的spring启动应用程序使用spring-boot-starter-tomcat运行,应用程序部署正常,我可以获取我的.war文件并java -jar myApplication.jar在服务器上部署它.

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

但是,我一直在谷歌搜索,无法弄清楚如何配置Spring Boot,以便它将使用我的域名,以便我可以以标准方式访问网站:www.mywebsite.com,甚至更好,还添加别名所以既mywebsite.comwww.mywebsite.com有效.

谁能指出我正确的方向?我知道这可以在Tomcat中完成,但我不知道如何配置它.

由于这是一个Spring Boot应用程序,我没有.xml文件,我的Spring Boot配置在一个application-prod.yml文件中,.xml我使用的唯一文件就是它pom.xml自己.

任何帮助将不胜感激.

Eri*_*ick 8

由于缺乏回应,我决定采用dunni提出的方法.

这是我使用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;
}
Run Code Online (Sandbox Code Playgroud)

然后,我创建的文件夹sites-enablednginx/conf/sites-enabled

我继续mywebsite.conf在文件夹内创建sites-enabled:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

此时,如果一切正常,您应该能够访问您的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:设置站点可用的配置

干杯.


dun*_*nni 5

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