标签nginx下的文章

admin 发布于 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了。

阅读全文 »

admin 发布于 03月01, 2018

nginx的记录(3)

去年做了一个node后台的服务,然后有同事反馈了一个奇葩的问题:

长久没有管页面,然后点会请求后台服务的链接,会报请求异常的错误,刷新一下就正常了。因为当时是偶发现象,也不了了之。

阅读全文 »

admin 发布于 10月17, 2016

nginx的记录(1)

今天在折腾nginx时,碰到一些问题,记录一下。

mac下的403错误

引起的原因是权限问题。

查看(ls -l) /Users/, /Users/hm/, /Users/hm/Documents/, /Users/用户名/Documents/htdocs/ 以及 /Users/用户名/Documents/htdocs/index.html 的权限,确保均含最后一个x(其他用户的执行权限),倘若/Users/用户名/Documents/ 缺少x,执行 chmod o+x /Users/用户名/Documents/ 把x 权限添加上即可。

简单的chomod 755,并没有起什么作用,只能通过chmod o+x

默认情况,/Users/用户名/下的文件夹都是有读取的权限的。

跨域转发配置的URL提取

比如多个server,跨域转发的URL是相同的,那么这个路径需要提取出来,避免URL修改了,需要修改多处的情况。

http {

    upstream myURL {
        server 192.168.150.149:8078;
    }

    server {

        listen       3100;
        server_name  localhost;

        root /Users/zhangpu/Documents/xxx;

        location / { 
            index index.html;
            autoindex on;
            #autoindex_exact_size 
            autoindex_localtime on;
        }

        #跨域转发配置
        location ~ .*/xqy-portal-web/.*$ {
            proxy_pass       http://myURL;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }

        error_page 404  /error/404/404.html;

    }

}

另外,在测试中也发现,绝对路径的必要性。

因为404.html里面引用了一张图片是相对的,但当访问其他不存在的URL时,可能会出现一张破图。

阅读全文 »

admin 发布于 08月07, 2016

Tengine简单篇

记得14年那会儿,seajs还是比较流行的。当时给团队推了seajs,组件使用Aralejs。依稀记得当时碰到的问题是请求比较多,因为当时spm关于打包那一块还是比较烂的。唯一比较靠谱点的方案是通过concat Url,即:

http://site.com/??a.css,b.css

然后形成一个新的css文件,印象中这个是叫combo,当时找了不少的资料,比较简单方便的是配置nginx。然而当时的团队没有人会配,或者说大家可能没有这种意识吧。

这篇文章算是还当年的一个心愿。(现在的combo,如果用nodejs来实现,也是相当简单的,更何况现在可选择的方案实在太多了,直接合并压缩一个文件,或者用工程化来解决)。

阅读全文 »

admin 发布于 07月28, 2016

fis3与nginx的故事

我知道现在有很多的构建工具,如grunt、gulp、webpack,还有rollup,据说是要干掉webpack来着。

每个人都有自己钟爱的构建工具,反正我个人觉得FIS3还是相当不错。

阅读全文 »