Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Tomcat上卸载的Spring启动应用程序创建错误的URL_Java_Spring Boot_Nginx_Deployment_Tomcat8 - Fatal编程技术网

Java 在Tomcat上卸载的Spring启动应用程序创建错误的URL

Java 在Tomcat上卸载的Spring启动应用程序创建错误的URL,java,spring-boot,nginx,deployment,tomcat8,Java,Spring Boot,Nginx,Deployment,Tomcat8,我有springboot应用程序&它是移动应用程序的restapi。所以它在本地工作正常,但在tomcat远程服务器上执行deply之后,它就出现了问题。 下面是我在tomcat应用程序管理器中的应用程序 这是财产档案 server.forward-headers-strategy=framework spring.freemarker.expose-request-attributes=true spring.freemarker.suffix= .ftl # location of t

我有springboot应用程序&它是移动应用程序的restapi。所以它在本地工作正常,但在tomcat远程服务器上执行deply之后,它就出现了问题。 下面是我在tomcat应用程序管理器中的应用程序

这是财产档案

server.forward-headers-strategy=framework


spring.freemarker.expose-request-attributes=true
spring.freemarker.suffix= .ftl
# location of the swagger json


spring.data.mongodb.authentication-database=aibolitDB
spring.data.mongodb.username=admin
spring.data.mongodb.password=admin
spring.data.mongodb.database=aibolitDB
spring.data.mongodb.port=27017
spring.data.mongodb.host=localhost

springdoc.swagger-ui.path=/swagger-ui-aibolit.html



spring.servlet.multipart.max-file-size=256MB
spring.servlet.multipart.max-request-size=256MB
spring.servlet.multipart.enabled=true

app.url.base=http://aibolitbackend.unitbeandev.com/

ub.vet.jwtSecret= bezKoderSecretKey
ub.vet.jwtExpirationMs= 86400000

logging.level.org.springframework.web = trace
logging.level.org.apache = trace
什么时候 我试图发送api请求,它给了我一个错误

如您所见,它尝试在/AibolitBackend/path中查找 这里是我的NGINX属性

 location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            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://127.0.0.1:8080/AibolitBackend/;
    #       try_files $uri $uri/ =404;
    }

我忘记设置什么了?我需要给Tomcat主机添加一些东西吗??我无法在Base/path上运行,因为这里将有3个应用程序。

您在同一位置有一个奇怪的
try\u文件
proxy\u pass
指令组合。那没有任何意义。通常,要使用nginx提供静态文件,并将其他请求传递到后端,您应该使用

位置/
#首先尝试将请求作为静态文件提供,然后将请求传递到后端
根;
试试看文件$uri@tomcat;
}
位置@tomcat{
代理集头X转发主机$Host;
代理设置头X转发服务器$host;
proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;
代理通行证http://127.0.0.1:8080;
}

使用
proxy\u passhttp://127.0.0.1:8080/AibolitBackend/;
在转到后端之前,您可以将任何请求(如
/some/path
转换为
/AibolitBackend/some/path
)。我不明白你想用这个
/AibolitBackend/
前缀实现什么。

是的,我想让tpwahe在没有/AibolitBackend/的情况下访问rest。它应该像***对RESTAPI的请求与其他请求有何不同?任何以
/public/api
开头的请求都是REST请求吗?