nginx访问动态接口报错404Not Found问题解决

 更新时间:2023年03月03日 15:50:57   作者:脖子好累  
本文主要介绍了nginx访问动态接口报错404Not Found问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

问题描述

计设做了一套招聘背调系统,前后端分别使用了Ant Design Vue与JFinal框架。想要将项目部署到服务器上,但是外部访问一直报错404Not Found

在这里插入图片描述

解决思路

把错误定位为:找不到动态接口,但是不知道是项目中出现了问题,还是经nginx代理后出现了问题。
因此要分别测试 项目本身的接口 和 nginx代理后的接口。

首先测试项目内接口:

在ubuntu端输入命令:curl http://localhost:port/xxx/xxx

这里我的接口是: curl http://localhost:20294/sys/login

运行结果:

在这里插入图片描述

说明我的项目内接口是没有问题的。

再测试nginx代理后的接口:

再ubuntu中输入命令

curl http://localhost:8080/api/user/login

运行结果:

在这里插入图片描述

这里提示找不到接口了,说明问题出在代理服务器nginx上,所以我们要去修改nginx的配置文件。

按照其他博客的建议,我将nginx配置中这个地方加上了斜杠

重启服务器后,还是不行。

彻底解决

在当我不知道怎么办的时候,我突然发现我的服务器中,有两个nginx·····
我在想是不是因为有两个nginx,修改的配置文件不是我启动的那个nginx。于是我把所有nginx配置文件都替换成我原始的配置文件,再重启。还是不行

担心是两个nginx的问题,我把服务器中的所有nginx删除了。删除步骤(依次运行下面的步骤):

ps aux|grep nginx  #查看nginx进程
kill -9 进程号      #杀死上一步中查询到的nginx(进程号在第二列)
find / -name nginx #找到nginx的文件地址
rm -rf xxx         #删除nginx所有文件

最后用weget安装新的nginx,然后按照原本安装步骤进行安装,修改配置文件后,再运行curl访问动态接口,突然就可以了!

下面贴出我的nginx配置文件:

user root;
#user  nobody;
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    underscores_in_headers on;
    large_client_header_buffers 4 32k;
    client_max_body_size 50m;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nopush          on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout    300;
    fastcgi_read_timeout    300;
    fastcgi_buffer_size     64k;
    fastcgi_buffers     4   64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 256k;
    tcp_nodelay         on;

    #gzip  on;


    ######################################################
    #############     麻雀配置地址    ###########
    ######################################################
    server {
        listen       8080;
        server_name  somename;

        location /api/ {
            proxy_pass http://0.0.0.0:20294/; #映射到本地端口。
            proxy_redirect off;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 200m;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        }
        
        location / {
            root /root/project-template/config/static;
            try_files $uri $uri/ @router;
            index index.html;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 200m;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        }

        location @router {
            rewrite ^.*$ /index.html last;
        }
    }
}

需要注意的是:配置动态访问api的时候,记得在最后加上斜杠

至此,问题完美解决。

到此这篇关于nginx访问动态接口报错404Not Found问题解决的文章就介绍到这了,更多相关nginx访问动态接口报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx中域名、目录的301重定向配置示例

    nginx中域名、目录的301重定向配置示例

    这篇文章主要介绍了nginx中域名、目录的301重定向配置示例,分为域名和域名间的跳转,目录跳转等,需要的朋友可以参考下
    2014-07-07
  • nginx rewrite功能使用场景分析

    nginx rewrite功能使用场景分析

    这篇文章主要介绍了nginx rewrite功能使用,rewrite是Nginx服务器提供的一个重要基本功能,主要作用用来实现URL地址重写,需要的朋友可以参考下
    2022-05-05
  • Nginx日志统计分析的常用命令总结

    Nginx日志统计分析的常用命令总结

    这篇文章主要给大家总结了关于Nginx日志统计分析的一些常用命令,其中包括IP相关统计、页面访问统计、性能分析、蜘蛛抓取统计、TCP连接统计等相关命令的总结,相信对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • Nginx中IF、AND、OR语句用法实例

    Nginx中IF、AND、OR语句用法实例

    这篇文章主要介绍了Nginx中IF、AND、OR语句用法实例,本文讲解的是Ningx中的逻辑判断语句用法,需要的朋友可以参考下
    2015-02-02
  • Nginx服务器配置性能优化方案

    Nginx服务器配置性能优化方案

    这篇文章主要为大家详细介绍了Nginx服务器配置性能优化方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Nginx反向代理实现支持长连接详解

    Nginx反向代理实现支持长连接详解

    这篇文章主要给大家介绍了关于Nginx反向代理实现支持长连接的相关资料,文字介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • nginx关于add_header的坑及解决

    nginx关于add_header的坑及解决

    这篇文章主要介绍了nginx关于add_header的坑及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Nexus使用nginx代理实现支持HTTPS协议

    Nexus使用nginx代理实现支持HTTPS协议

    这篇文章主要介绍了Nexus使用nginx代理实现支持HTTPS协议,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • nginx 反向代理负载均衡策略配置SSL访问匹配规则优先级

    nginx 反向代理负载均衡策略配置SSL访问匹配规则优先级

    本文主要包含1.Nginx配置文件详解2.Nginx实现负载均衡3.Nginx前端项目部署4.Nginx配置SSL访问5.nginx匹配规则说明以及匹配的优先级的内容详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Nginx配置入门教程

    Nginx配置入门教程

    这篇文章主要介绍了Nginx配置入门教程,本文讲解了反向代理的概念、初始配置、进阶配置、负载均衡配置等内容,需要的朋友可以参考下
    2015-02-02

最新评论