在nginx后面运行Spring引导应用程序
我有一个Spring Boot+MVC应用程序,正在我的服务器上运行,它一定会在nginx后面运行Spring引导应用程序,nginx,spring-boot,Nginx,Spring Boot,我有一个Spring Boot+MVC应用程序,正在我的服务器上运行,它一定会http://localhost:8000 有一个nginx代理(或者是反向代理,不确定名称)在端口80和443上侦听外部世界。根(/)将正确解析,但其下的任何内容都无法解析,并导致404错误(/someControllerName/action、/images/、/css/) 我将此作为我的配置: upstream jetty { server localhost:8000; } server {
http://localhost:8000
有一个nginx代理(或者是反向代理,不确定名称)在端口80和443上侦听外部世界。根(/)将正确解析,但其下的任何内容都无法解析,并导致404错误(/someControllerName/action、/images/、/css/)
我将此作为我的配置:
upstream jetty {
server localhost:8000;
}
server {
listen 80;
server_name domain.com;
return 301 http://www.domain.com$request_uri;
}
server {
listen 443;
server_name domain.com;
ssl_certificate /etc/nginx/ssl/ssl.crt;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
return 301 https://www.domain.com$request_uri;
}
server {
listen 80 default_server;
listen 443 ssl;
root /usr/share/nginx/html;
index index.html index.htm;
server_name www.domain.com localhost;
#ssl on;
ssl_certificate /etc/nginx/ssl/ssl-unified.crt;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
proxy_pass $scheme://jetty/$request_uri;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
try_files $uri $uri/ =404;
}
}
非常感谢您的帮助。您不能以您尝试的方式将
代理通行证
与试用文件
组合在一起。正如配置中的注释所述,try\u files
指令使nginx查找与URI匹配的文件,然后查找与URI匹配的目录。如果两者都找不到,它将以404作为响应。您可以在中阅读有关try\u文件的更多信息
您的问题不清楚您是否需要使用try\u文件
,因此修复配置的最简单方法是删除try\u文件
行