nginx.md

总结 20180106

1, api应该一直保持内网服务

2, 前端请求后端的时候. 无论域是否一样,都可以通过node 或者nginx做转发

3, 无论api是否是内网服务, 总有一个api入口去拿到接口数据

另: 真正的内部服务是, 前端加一个node server层, 前端的接口在node上请求, 浏览器只请求页面, 不请求接口。 这样才能真正对外网隔离api服务.

遇到一个nginx转发的问题, 始终做不了二次代理

排查过程: google, 使用不同的配置尝试. 一直不行, 最后参考之前可以的情况排除变更项找到了正确的方式

坑:

nginx负载均衡时根据host去转发不同的请求, 这里的host是header里面的host, 在nginx 转发里面是这个: proxy_set_header Host $host;

nginx的error日志, 默认是不会打的, 比如前端资源不存在, 需要指定 error_log

教训:

在使用新的方案的时候, 要对方案抱有质疑的态度, 每一行都可能有问题

在新的方案有问题, 可以去排查新方案的每个不懂的技术参数是什么意思, 弄懂了, 自然问题就解决了

可以拿新的方案和旧的方案diff下, 看旧的方案时候可用, 新的方案变更了什么, 逐渐diff出问题

可以看具体的日志, 这里是nginx日志, 成功和失败都要看日志分析, 这是排查问题非常有效的手段