当前位置:论坛首页 > Linux面板 > 求助

Nginx 同域名部署前后端分离项目,接口404

发表在 Linux面板2023-9-7 18:56 [复制链接] 1 1979

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:免费版 [url=]8.0.1     nginx1.15[/url]

系统版本:免费版 [url=]8.0.1[/url]

问题描述:宝塔nginx配置
  1. server
  2. {
  3.     listen 80;
  4.     server_name test.cn;
  5.     index index.php index.html index.htm default.php default.htm default.html;
  6.     root /www/wwwroot/web-admin/dist/;
  7.     #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
  8.     #error_page 404/404.html;
  9.     #SSL-END
  10.     #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
  11.     #error_page 404 /404.html;
  12.     #error_page 502 /502.html;
  13.     # 默认访问前端项目
  14.     location / {
  15.         #解决页面刷新404问题
  16.         try_files $uri $uri/ /index.html;
  17.     }
  18.     # 后端项目
  19.     location ~ ^/(admin-api) {
  20.         try_files $uri $uri/ /index.php?$query_string;
  21.     }
  22.     #ERROR-PAGE-END
  23.     #PHP-INFO-START  PHP引用配置,可以注释或修改
  24.     include enable-php-81.conf;
  25.     location ~ \.php(.*)$
  26.     {
  27.         root  /www/wwwroot/api-admin/public/;
  28.         try_files $uri =404;
  29.         fastcgi_pass  unix:/tmp/php-cgi-81.sock;
  30.         fastcgi_index index.php;
  31.         include fastcgi.conf;
  32.         include pathinfo.conf;
  33.     }
  34.     #PHP-INFO-END
  35.     #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
  36.     include /www/server/panel/vhost/rewrite/test.cn.conf;
  37.     #REWRITE-END
  38.     #禁止访问的文件或目录
  39.     location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md)
  40.     {
  41.         return 404;
  42.     }
  43.     #一键申请SSL证书验证目录相关设置
  44.     location ~ \.well-known{
  45.         allow all;
  46.     }
  47.     #禁止在证书验证目录放入敏感文件
  48.     if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
  49.         return 403;
  50.     }
  51.     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  52.     {
  53.         expires      30d;
  54.         error_log /dev/null;
  55.         access_log /dev/null;
  56.     }
  57.     location ~ .*\.(js|css)?$
  58.     {
  59.         expires      12h;
  60.         error_log /dev/null;
  61.         access_log /dev/null;
  62.     }
  63.     # 前端静态资源处理
  64.     location  ^~ /images/ {
  65.         alias /www/wwwroot/web-admin/dist/images/;
  66.     }
  67.     # 后端静态资源处理
  68.     location  ^~ /storage/ {
  69.         alias /www/wwwroot/api-admin/public/storage/;
  70.     }
  71.     access_log  /www/wwwlogs/test.cn.log;
  72.     error_log  /www/wwwlogs/test.cn.error.log;
  73. }
  74. server {
  75.    listen       9527;
  76.    server_name  localhost;
  77.    # 接口代理,用于解决跨域问题
  78.    location /admin-api {
  79.      proxy_set_header Host $host;
  80.      proxy_set_header X-Real-IP $remote_addr;
  81.      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  82.      # 后台接口地址
  83.      # proxy_pass http://127.0.0.1:9527/admin-api;
  84.      # proxy_redirect default;
  85.      # add_header Access-Control-Allow-Origin *;
  86.      # add_header Access-Control-Allow-Headers X-Requested-With;
  87.      # add_header Access-Control-Allow-Methods GET,POST,PUT,PATCH,DELETE,OPTIONS;
  88.    }
  89. }
复制代码

我如果在location / {alias /www/wwwroot/web-admin/dist/;}这样写首页会空白,css,js文件会报404,只能把dist写在外面(如上面的配置),感觉location都没生效,所以导致接口都会404,求教什么原因 ,配置是什么,感谢!

相关截图(日志、错误):nginx日志没报错,

微信图片_20230907175408.png
使用道具 举报 只看该作者 回复
发表于 2024-1-4 13:45:33 | 显示全部楼层
同样404

  # HTTP反向代理相关配置开始 >>>
    location ~ /purge(/.*) {
        proxy_cache_purge cache_one $Host$request_uri$is_args$args;
    }

    location /api {
        proxy_pass http://127.0.0.1:8654;
        proxy_set_header Host $Hostserver_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;
        proxy_set_header X-Host $hostserver_port;
        proxy_set_header X-Scheme $scheme;
        proxy_connect_timeout 30s;
        proxy_read_timeout 86400s;
        proxy_send_timeout 30s;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    # HTTP反向代理相关配置结束 <<<
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表