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;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       28088;
        server_name  172.16.130.71;

       location / {
            alias dist/;
            index index.html;
            try_files $uri $uri/ /index.html;
            
       }

        location /nari-platform {
              proxy_pass   http://172.16.130.71:8053;
        }

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


}

发现后端接口总是访问不到,原因就是在于没有了解nginx的匹配规则

详细的匹配规则可以参考李先生的博客说明https://www.cnblogs.com/lemon-le/p/8215320.html

正确的做法是通用配置/应该放在最后

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

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       28088;
        server_name  172.16.130.71;

         location /nari-platform {
              proxy_pass   http://172.16.130.71:8053;
        }

       location / {
            alias dist/;
            index index.html;
            try_files $uri $uri/ /index.html;
            
       }

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


}

 

你可能感兴趣的:(linux,nginx,前后端分离部署,无法访问后端)