nginx代理局域网下不同的服务器

修改配置文件

vi /etc/nginx/conf.d/default.conf
或者vi /etc/nginx/sites-avalibled/default

修改location:
location的匹配规则:

location / { 
root /data/www;
}

这里location块声明了一个"/"前缀来和请求中的URI进行对比。
对于成功匹配的请求,URI会被添加到root指令声明的路径后面。
形成一个在本地文件系统中对于所需文件的请求。
如果有多个匹配的location块,则nginx选择最长前缀的那个。
以上的location块的前缀只有一个字符,是最短的,
因此只有当其它location都匹配失败时,这个location才会被选择。

现在,添加第二个location块:

location /images/ { 
root /data;
}
它会匹配以/images/开始的请求
(location / 也会匹配这个请求,但它的前缀更短)
比如:为了响应        
(http://localhost/images/example.png),
nginx会发送/data/images/example.png这个文件,
如果不存在这样的文件,nginx就会发送404错误

我们现在修改第二个location块,使它由原先的匹配/images/前缀变为匹配典型的图片文件扩展名。修改后的location如下:

location ~ \.(gif|jpg|png)$ {
 root /data/images;
}
这个参数是一个匹配所有以.gif,.jpg或.png结尾的URI的正则表达式。
~ 应该被写在正则表达式前面。
当nginx选择一个location时,它先检查前缀,并且记录匹配的location(最长前缀),
然后nginx再检查正则表达式,如果有一个正则表达式匹配,
它就选择这个location,否则,选择之前记录的location。

配置一个完整的实例:

location /test/ {//test表示你要匹配的目录
proxy_pass http://ip+port;
proxy_redirect off; 
proxy_set_header Host $host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-REAL-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_connect_timeout 90;
proxy_send_timeout 90; 
proxy_read_timeout 90; 
proxy_buffer_size 4k; 
proxy_buffers 4 32k; 
proxy_busy_buffers_size 64k; 
proxy_temp_file_write_size 64k;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.ngnix介绍 ngnix www服务软件 俄罗斯人开发 开源 性能很高 本身是一款静态WWW软件 静态小文件...
    逗比punk阅读 2,299评论 1 6
  • 阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。 抽象来说,将 Nginx 配置为...
    思梦PHP阅读 1,414评论 2 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,173评论 19 139
  • 原文地址:Beginner`s Guide参考文档:Nginx原理本文翻译自上述地址(Nginx官网新手指引),我...
    禾线子阅读 586评论 0 0
  • Nginx 是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器。 Ngi...
    思梦PHP阅读 700评论 0 4

友情链接更多精彩内容