鍍金池/ 問答/Linux/ nginx代理返回的狀態(tài)碼和直接訪問應(yīng)用返回的狀態(tài)碼不一致

nginx代理返回的狀態(tài)碼和直接訪問應(yīng)用返回的狀態(tài)碼不一致

問題描述

直接使用瀏覽器訪問我們的后臺(tái)接口,在未登陸的情況下接口返回的狀態(tài)碼都是401,而且返回的路徑是/user/requireLogin,但是現(xiàn)在我們前端配置了nginx來解決跨域的問題,調(diào)用接口居然返回了200, 我想讓nginx也同樣返回401這個(gè)應(yīng)該怎么做??

問題出現(xiàn)的平臺(tái)版本及自己嘗試過哪些方法

我們的nginx是最新的1.14,平臺(tái)是nginx

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)


worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       10.67.1.102:80;
        server_name  10.67.1.102;
        rewrite ^(.*)$  https://$host$1 permanent;          
    }
    server {
        listen       10.67.1.102:443;
        server_name  10.67.1.102;
        client_max_body_size   20m;
        proxy_redirect      off;
        proxy_set_header    Host                    $host;
        proxy_set_header    X-Real-IP               $remote_addr;
        proxy_set_header    X-Forwarded-Host        $host:$server_port;
        proxy_set_header    X-Forwarded-Server      $host;
        proxy_set_header    X-Forwarded-For         $proxy_add_x_forwarded_for;
        proxy_set_header     X-Forwarded-Proto $scheme;
        proxy_pass_header   Set-Cookie;
        proxy_pass_header   P3P;
        proxy_buffering     off;  
        proxy_intercept_errors off; 
        ssl          on;
        ssl_certificate        ./server.crt;
        ssl_certificate_key    ./server.key;        

        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }

        location /WebApi/jjjj/static/ {
            alias  E:/svn/06_code/dist/ZJYD/;
            index  index.html index.htm;

        }
        #接口轉(zhuǎn)發(fā)
        location /jjjj/api/v1 {
            add_header 'Access-Control-Allow-Origin' '$http_origin';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'Content-Type,*';    
            proxy_pass  https://10.67.1.101/jjjj/api/v1/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location = /user/requireLogin {
            alias html/401.html;
        }



    }





}

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

我現(xiàn)在就想讓nginx返回和直接訪問后臺(tái)接口一樣的狀態(tài)碼,這個(gè)應(yīng)該怎么做??一點(diǎn)頭緒都沒有

回答
編輯回答
淺時(shí)光

試試這個(gè)

location = /user/requireLogin {
    error_page 401 html/401.html;
}
2018年8月15日 10:03