前后端分离的一些注意事项

nginx配置反向代理可以解决前后端分离带来的跨域问题。

nginx配置location的时候,如果配置了一个新的server,是/根目录访问主页,那么再根据资源路径访问后台服务器时,需要配置proxy_pass服务器转发,这个时候,因为根目录的location已经配置了前端目录和主页页面访问,是不能再加上一个proxy_pass配置的,那么就必须配置两个。

一个是配置为前端目录和主页页面的

        location =/ {
            root C:\Users\pape\WebstormProjects\bbs;
            index index.html;
        }

这个用了个=号,也就是完全匹配/访问的时候才访问,也就是只用来访问主页。

还有一个配置是转发的,根目录后面资源路径访问:

        location / {
            proxy_pass http://localhost:8080/;
        }

这就有一个问题,如果我要访问的是前端的其他页面的时候,比如/login.html,这个时候,会转发到后台服务器上去,那么就要针对前端页面访问再配置一个location

        location ~* \.+ {
            root C:\Users\pape\WebstormProjects\bbs;
        }

~*的意思是忽略大小写 \.的意思就是.,也就是匹配后缀名的.,后面的+标识一定有一个字符以上的后缀名,如果用*,那么可以没有后缀名字符,这个时候,会把/login之类的后台资源访问也匹配到,就错了,会404.

也可以用 (html|js|jpg)这种来代替+,不过这种就要包含到所会访问的所有静态资源后缀名了。

你可能感兴趣的:(nginx)