我在服务层中有一个Spring Boot Application,在UI中有纯HTML(带有Jquery)。
tomcat服务器中正在运行Spring Boot,NGINX中部署了HTML。
假设我们有一个像 http://IP:port/getallUser 这样的URL,它可以检索所有用户。
现在,我不希望外界知道URL。由于某种安全原因而需要它。
从浏览器用户类型 http://IP:port/user 开始,应该这样工作,并且应该在NGINX和服务层之间进行转换/ URL转发/映射。
是否可能需要Java,NGINX或某些外部工具来实现这一目标?
答案 0 :(得分:0)
让您的 Java 应用程序侦听8080端口,然后在服务器外部无法访问您的应用程序。
现在,使用 Nginx ,您可以映射整个 Java 应用程序(是的,包括getAllUSers
):
http {
...
server {
...
location /javaapp/ {
proxy_pass http://127.0.0.1:8080/;
}
为避免访问某些路径,您可以在之前重写特定规则:
location /javaapp/privateroute {
return 404;
}
您可以将该真实路线映射到其他路线:
location /javaapp/publicroute {
proxy_pass http://127.0.0.1:8080/privateroute;
}
这是实际配置测试:
location /s/stesting {
return 404;
}
location /s/publicstesting {
proxy_pass http://127.0.0.1:3838/stesting;
}
location /s/ {
proxy_pass http://127.0.0.1:3838/;
}
此处,路径/s/stesting
已被隐藏(404)并从/s/publicstesting
重定向。
一个好的起点是nginx location documentation