我有一个春季启动应用程序。通常我在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.com
和mywebsite.com
都有效。
有人能指出我正确的方向吗?我知道这个can be done in Tomcat,但我不知道如何配置它。
由于这是一个Spring Boot应用程序,我没有www.mywebsite.com
个文件,我的Spring Boot配置在.xml
文件中,我使用的唯一application-prod.yml
文件是{{ 1}}本身。
非常感谢任何帮助。
答案 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服务器配置为反向代理(您可以找到该主题的许多教程)。