problem description
directly use the browser to access our backend interface. In the case of not logging in, the status code returned by the API is 401, and the return path is / user/requireLogin,. But now we configure nginx at the front end to solve the cross-domain problem, and the calling interface returns 200. What should I do if I want nginx to return 401 as well?
the platform version of the problem and what methods you have tried
our nginx is the latest 1.14, and the platform is nginx
related codes
/ / Please paste the code text below (do not replace the code with pictures)
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;
-sharpaccess_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;
}
-sharp
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;
}
}
}
what result do you expect? What is the error message actually seen?
now I want nginx to return the same status code as directly accessing the background interface. What should I do? I don"t have a clue.