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

时间:2015-06-12 05:07:31

标签: tomcat nginx

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

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

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

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

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

有人能指出我正确的方向吗?我知道这个can be done in Tomcat,但我不知道如何配置它。

由于这是一个Spring Boot应用程序,我没有www.mywebsite.com个文件,我的Spring Boot配置在.xml文件中,我使用的唯一application-prod.yml文件是{{ 1}}本身。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分: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;
}

然后我在sites-enabled

中创建了文件夹nginx/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;
    }
}

此时如果一切正常,您应该能够访问您的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: setting up sites-available configs

干杯。

答案 1 :(得分:5)

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