linux运维web配置求助

咱 在网上接个小活,给一个内网的机子配置web项目。前端是vue,后端是java人家写写好的。
我把前端文件放在/www下面,9036端口是人家起的后端服务。
然后在测试环境中,验证码加载不出来,我就把那个人自己在/etc/nginx/conf.d下面的配置文件删除了,然后重新加载后就可以。
然后开始布置生产环境,一模一样的文件和路径以及配置文件,结果又是验证码加载失败报404,真的真不知道哪里错了,可能是我学艺不精吧,但是没有搞过java后端。弄到凌晨都不行
下面是nginx配置文件,请大佬们帮忙看下到底哪里导致的,谢谢了

#user nobody;
worker_processes 1;

#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"';

#access_log  logs/access.log  main;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

#gzip  on;

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
          root  /www;
          try_files $uri $uri/
          index  index.html index.htm;
          client_max_body_size       10m;		#允许客户端请求的最大单文件字节数
	     client_body_buffer_size    128k;	#缓冲区代理缓冲用户端请求的最大字节数
		proxy_connect_timeout      300;		#nginx跟后端服务器连接超时时间(代理连接超时)
		proxy_send_timeout         300;		#后端服务器数据回传时间(代理发送超时)
		proxy_read_timeout         300;		#连接成功后,后端服务器响应时间(代理接收超时)
		proxy_buffer_size          4k;		#设置代理服务器(nginx)保存用户头信息的缓冲区大小
		proxy_buffers              4 32k;	#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
		proxy_busy_buffers_size    64k;		#高负荷下缓冲大小(proxy_buffers*2)
		proxy_temp_file_write_size 64k;	#设定缓存文件夹大小,大于这个值,将从upstream服务器传


    }
    
location /api/ {
       proxy_pass http://127.0.0.1:9036/;
    proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

}
    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#    listen       8000;
#    listen       somename:8080;
#    server_name  somename  alias  another.alias;

#    location / {
#        root   html;
#        index  index.html index.htm;
#    }
#}


# HTTPS server
#
#server {
#    listen       443 ssl;
#    server_name  localhost;

#    ssl_certificate      cert.pem;
#    ssl_certificate_key  cert.key;

#    ssl_session_cache    shared:SSL:1m;
#    ssl_session_timeout  5m;

#    ssl_ciphers  HIGH:!aNULL:!MD5;
#    ssl_prefer_server_ciphers  on;

#    location / {
#        root   html;
#        index  index.html index.htm;
#    }
#}
2 个赞

有空发帖不如问问gpt,根据有限的资源推断如下:

如果愿意付费的话,可以加我微信:xmxs2025

帮顶一下

1 个赞

我问来着,我问gpt都一直在说权限的问题:sweat_smile:

我问gpt总说让我检查配置的url路径,然后说文件权限是否不够。你是怎么提问的啊


参考

1 个赞

感谢:pray:t2:大哥

1 个赞

帮顶

配置调优快问快答

404请求路径没找到 可能是后台服务加了前缀 需要在nginx配置一下代理

前后分离部署 看项目怎么配置的,一般是前端的NGINX 会代理后端的请求
验证码404 多半是 前端转发后端接口没配置好

求问怎么配置啊 一样的nginx配置文件在测试环境行 生产就不行了

但是一样的nginx 文件在另一台服务器上就行,我真的头都大了 也不知道错误在哪里

肯定有区别的,有时候我也会犯这样的错误,如果确定nginx一样,那就得看这个验证码的请求后端路径是哪个,根据这个去看nginx能否命中规则

location 配置的后端api 路径也一样 我感觉是他们后端的过

1、计算一下md5看看文件是不是完全一样
2、清除一下浏览器缓存试试
3、在后端服务器上使用curl请求url看看啥情况

[root@0002 manager]# curl -v -u admin:234567 http://127.0.0.1:9036/api/captcha/get
*   Trying 127.0.0.1:9036...
* Connected to 127.0.0.1 (127.0.0.1) port 9036 (#0)
* Server auth using Basic with user 'admin'
> GET /api/captcha/get HTTP/1.1
> Host: 127.0.0.1:9036
> Authorization: Basic YWRtaW46MjM0NTY3
> User-Agent: curl/7.71.1
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 
< Vary: Origin
< Vary: Access-Control-Request-Method
< Vary: Access-Control-Request-Headers
< Set-Cookie: XSRF-TOKEN=38ddc400-b7f2-4357-bf93-1b5580f05a59; Path=/
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< X-Frame-Options: DENY
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Date: Tue, 30 Jul 2024 01:10:19 GMT
< 
* Connection #0 to host 127.0.0.1 left intact
{"code":401,"msg":"认证失败,请登录!"}[root@0002 manager]#

问人工智能 他说是后端缺失什么身份认证,这就是他们后端的问题了吧

一般验证码都会在白名单,不需要账号密码;后端是单体项目还是Cloud项目

从结果上看,接口返回来认证失败,但不一定是接口问题,会不会是 admin:234567 错了呢,这个你得跟后端求证一下。我们的测试环境参数跟生产环境参数经常会不一样 :neutral_face: