gpt4 book ai didi

java - 不想将服务层URL暴露给外界

转载 作者:行者123 更新时间:2023-12-02 02:54:07 26 4
gpt4 key购买 nike

我在服务层中有一个Spring Boot Application,在UI中有纯HTML(带有Jquery)。

Spring Boot在tomcat服务器中运行,HTML部署在NGINX中。

假设我们有像http://IP:port/getallUser这样的URL,它可以检索所有用户。

现在,我不希望外界知道URL。由于某种安全原因,需要它。

从浏览器用户类型http://IP:port/user到NGINX和服务层转换/ URL转发/映射之间的某个地方,应该这样工作。

是否可能需要Java,NGINX或某些外部工具来实现此目的?

http://IP:port/user映射到http://IP:port/getallUser

最佳答案

然后,让您的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

关于java - 不想将服务层URL暴露给外界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57088400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com