11月16, 2018

nginx的记录(4)

背景:同事之前用的是nginx配置的后端,然后前端略微复杂一些,有backbone的,也有react的。react的用了webpack-dev-server。他希望能快速地打通这一条线,所以我给他的建议还是用nginx来转发服务。

就是nginx起到两个作用:

  • 转发页面请求到node(webpack-dev-server)
  • 转发API请求到java
server {
    listen       80;
    server_name  localhost;

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

    location /manage {
        proxy_pass   http://127.0.0.1:9008;
        proxy_redirect              off;
        proxy_set_header            Host $host;
        proxy_set_header            X-Real-IP $remote_addr;
        proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    } 
}

比如9008是我们开的node服务。那么这样的URL:http://localhost/manage/index.html,会转发变成http://localhost:9008/manage/index.html

问题来了,webpack-dever-server一般不会有manage这一层的,一般都是http://localhost:9008/index.html。所以要怎么干掉呢?

问了一下相关大神,只要这样配即可:

proxy_pass   http://127.0.0.1:9008/;

在URL后面加个/,它就会取最后的路径,不会带上manage了。

本文链接:www.my-fe.pub/post/note-for-nginx-4.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。