Spring 引导配置 Domain/Host 以 www.website.com 方式访问
Spring Boot configure a Domain/Host to access in a www.website.com fashion
我有一个 spring 启动应用程序。通常我 运行 我的 Spring 应用程序在 PaaS 实例上,从那里配置域名很容易,但是我 运行 在虚拟专用服务器上使用它,我不能,因为我的生活,弄清楚如何 运行 我的 spring 启动以便可以通过域名访问它。
我已经更改了我的 DNS 设置,因此它指向我的虚拟专用服务器,这个 VPS 也 运行 一些其他基于 apache 的静态网站,我非常有信心我的 DNS 设置是正确。
我的 spring 引导应用程序 运行ning 使用 spring-boot-starter-tomcat,应用程序部署正常,我可以获取我的 .war 文件并使用 [=13 部署它=] 在服务器上。
也可以通过在浏览器上写入 my.server.ip:8080
来远程访问该应用程序。
但是,我一直在谷歌搜索,但无法弄清楚如何配置 Spring 启动,以便它使用我的域名,以便我可以以标准方式访问该网站:www.mywebsite.com
,或者更好的是还添加一个别名,这样 mywebsite.com
和 www.mywebsite.com
都有效。
任何人都可以指出我正确的方向吗?我知道这个 can be done in Tomcat 但我不知道如何配置它。
因为这是一个 Spring 引导应用程序,我没有 .xml
文件,我的 Spring 引导配置在 application-prod.yml
文件中,唯一的 .xml
我使用的文件是 pom.xml
本身。
如有任何帮助,我们将不胜感激。
从技术上讲,您可以在 Tomcat 中做到这一点。但是,要使用端口 80 或 443 启动应用程序,您必须 运行 它具有 root 权限。因此,我建议将 Apache HTTP 或 Nginx 服务器配置为反向代理(您可以找到有关该主题的许多教程)。
由于缺乏回应,我决定采用 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;
}
然后我在 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: setting up sites-available configs
干杯。
我有一个 spring 启动应用程序。通常我 运行 我的 Spring 应用程序在 PaaS 实例上,从那里配置域名很容易,但是我 运行 在虚拟专用服务器上使用它,我不能,因为我的生活,弄清楚如何 运行 我的 spring 启动以便可以通过域名访问它。
我已经更改了我的 DNS 设置,因此它指向我的虚拟专用服务器,这个 VPS 也 运行 一些其他基于 apache 的静态网站,我非常有信心我的 DNS 设置是正确。
我的 spring 引导应用程序 运行ning 使用 spring-boot-starter-tomcat,应用程序部署正常,我可以获取我的 .war 文件并使用 [=13 部署它=] 在服务器上。
也可以通过在浏览器上写入 my.server.ip:8080
来远程访问该应用程序。
但是,我一直在谷歌搜索,但无法弄清楚如何配置 Spring 启动,以便它使用我的域名,以便我可以以标准方式访问该网站:www.mywebsite.com
,或者更好的是还添加一个别名,这样 mywebsite.com
和 www.mywebsite.com
都有效。
任何人都可以指出我正确的方向吗?我知道这个 can be done in Tomcat 但我不知道如何配置它。
因为这是一个 Spring 引导应用程序,我没有 .xml
文件,我的 Spring 引导配置在 application-prod.yml
文件中,唯一的 .xml
我使用的文件是 pom.xml
本身。
如有任何帮助,我们将不胜感激。
从技术上讲,您可以在 Tomcat 中做到这一点。但是,要使用端口 80 或 443 启动应用程序,您必须 运行 它具有 root 权限。因此,我建议将 Apache HTTP 或 Nginx 服务器配置为反向代理(您可以找到有关该主题的许多教程)。
由于缺乏回应,我决定采用 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;
}
然后我在 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: setting up sites-available configs
干杯。