Nginx DNS resolver配置实例
nginx 通过 proxy_pass 和 upstream server 通信的时候需要手动指定 resolver。某些时候 DNS 解析失败就会出现这个错误:
domain.com could not be resolved.
可以指定多个 DNS 并重置域名 TTL 延长 nginx 解析缓存来保障解析成功率:
resolver 223.5.5.5 223.6.6.6 1.2.4.8 114.114.114.114 valid=3600s;
如果还有解析错误,可以用 dnsmasq 在本地自建 DNS,顺带还有加速解析的好处:
#/etc/dnsmasq.conf
domain-needed
bogus-priv
cache-size=51200
listen-address=127.0.0.1
#server=223.5.5.5
resolv-file=/etc/resolv.conf
另外需要注意的是 proxy_pass 并不是每次请求都会进行解析,如果 upstream IP 频繁变动,需要强制解析:
# via http://forum.nginx.org/read.php?2,215830,215832#msg-215832
resolver 127.0.0.1;
set $backend "foo.example.com";
proxy_pass http://$backend;
相关推荐
-
Nginx实现根据域名http、https分发配置示例
tomcat端口:8080 做好虚拟主机 nginx端口:80 根据域名分派 在conf/nginx.conf中的http中增加 复制代码 代码如下: include www.jb51.net.conf 新建conf/www.jb51.net.conf,内容如下: 复制代码 代码如下: server { listen 80; server_name www.jb51.net; location / { proxy_pass http://127.0.0.1:8080; proxy
-
Nginx负载均衡的4种方案配置实例
1.轮询 轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器. 配置的例子如下: http{ upstream sampleapp { server <<dns entry or IP Address(optional with port)>>; server <<another dns entry or IP Address(optional with port)>>; } .... server{
-
nginx日志配置指令详解
日志对于统计排错来说非常有利的.本文总结了nginx日志相关的配置如access_log.log_format.open_log_file_cache.log_not_found.log_subrequest.rewrite_log.error_log. nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义.ngx_http_log_module是用来定义请求日志格式的. 1. access_log指令 语法: access_
-
Nginx做NodeJS应用负载均衡配置实例
负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均衡的架构如图所示: 对于复杂的Web应用来说,用Nginx做前端负载均衡是理所当然的事. 下面,我们用Nginx做NodeJS应用的负载均衡. 1.配置Nginx 修改nginx.conf: upstream sample { server 127.0.0.1:3000; server 127.0.0.1:3001; keepalive 64; } server { listen 80; .... serv
-
一个等号引发的血案(谈Nginx正确的404配置)
这是一个血淋淋的教训,这么说一点也不过分.因为最近发生了一个重大问题,网站流量大幅下跌,跌了近80%了.由于事件发生之前做过一些工作,加了大量友链,而且外站权重都相当高,在那天还发生了一次挂马事件,当然也即时解决了.还做了其它一些关键字内.外链优化等等.这样使得查找问题的原因就变的难上加难.偶然的原因发现,百度收录的链接开始出现错误,由于网站URL方式采用的目录式结构,最后一个字符都是/,然而百度收录的页面却无缘无故把这个线去掉了,而这种访问方式,我并没有做兼容.当时也查看了网站页面上的重写结果
-
Nginx反向代理websocket配置实例
最近有一个需求,就是需要使用 nginx 反向代理 websocket,经过查找一番资料,目前已经测试通过,本文只做一个记录 复制代码 代码如下: 注: 看官方文档说 Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必须升级到 1.3 以后的版本,因此我这边是下载的 Tengine 的最新版本测试的 1.下载 tengine 最近的源码 复制代码 代码如下: wget http://tengine.taobao.org/dow
-
Nginx+SSL+Node.js运行环境配置教程
Nginx是一款高性能的HTTP服务器,同时也是一款高效的反向代理服务器.不像传统的服务器,Nginx是基于事件驱动的异步架构,内存占用少但是性能很好.如果你的Web应用是基于Node.js的,那么建议你考虑使用Nginx来做反向代理,因为Nginx可以非常高效地提供静态文件服务.本文的主要内容是在不同的操作系统下配置Nginx和SSL,并且搭建一个Node.js运行环境. 安装Nginx 假设你已经在服务器上安装了Node.js,下面我们来安装Nginx. 在Mac系统上安装Nginx 利用c
-
很详细的Nginx配置说明
Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器.支持FastCGI.SSL.Virtual Host.URL Rewrite.Gzip等功能.并且支持很多第三方的模块扩展. Nginx的稳定性.功能集.示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站. Ng
-
Nginx的nginx.conf配置文件中文注释说明
复制代码 代码如下: #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #
-
nginx配置ssl双向验证的方法
1.安装nginx略 http://www.jb51.net/article/49479.htm 2.使用openssl实现证书中心 由于是使用openssl架设私有证书中心,因此要保证以下字段在证书中心的证书.服务端证书.客户端证书中都相同 Country Name State or Province Name Locality Name Organization Name Organizational Unit Name 编辑证书中心配置文件 vim /etc/pki/tls/openssl
随机推荐
- 再次谈论React.js实现原生js拖拽效果引起的一系列问题
- 原生JS封装Ajax插件(同域、jsonp跨域)
- JavaScript中对象的不同创建方法
- python算法学习之基数排序实例
- js实现的拖动后记录轨迹并运行
- 15个款优秀的 jQuery 图片特效插件推荐
- PHP几个实用自定义函数小结
- Android仿微信支付密码弹出层功能
- php操作JSON格式数据的实现代码
- C#插入法排序算法实例分析
- 使用python读取txt文件的内容,并删除重复的行数方法
- js序列化和反序列化的使用讲解
- CentOS7.3下mysql 8.0.13安装配置方法图文教程
- 详细介绍pandas的DataFrame的append方法使用
- vmware虚拟机安装centos7.3的教程图解
- python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
- 详解易语言按钮的用法
- Android实现微信右侧顶部下拉对话框
- mysql双机热备实现方案【可测试】
- mysql创建表的sql语句详细总结