• Nginx配置之location模块和proxy模块


    1、location指令的用法介绍

    Location主要用来匹配url,如:http://www.beyond.com/nice,在这里对于location来说www.beyond.com是域名,/nice才是url。
    对于url的匹配,可以使用字符串或者正则表达式,但如果是正则表达式,必须指定前缀,location指令来匹配不同的url,匹配成功后应用不同的配置
    语法:location [=|~|~*|^~|@]/url {…..}
    [=]精确匹配,如果找到匹配等号的内容,立即停止搜索,并立即处理请求(优先级最高)
    [~]区分大小写
    [^~]只匹配字符串,不匹配正则表达式
    [~*]不区分大小写
    [@]指定一个命名的location,一般只应用于内部重定向请求,location @name {・・・}
    示例:

    12345678910111213141516171819202122232425262728293031323334

    worker_processes 1;

    events { worker_connections 1024;}

    http {

    include mime.types;

    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {

      listen 80;

      server_name www.liyunlong.com;

      #No.1 location / { return 502; }

      #No.3 location ~* .jpg$ { return 403; }

      #No.4 location ^~ /a/ { return 402; }

      #No.5 location /a/1.jpg { return 401; }

      #No.6 location = /a/.jpg { return 400; }}}

    小结:
    1、等号优先级最高,工作中尽量把等号匹配的放在前边
    2、~* .jpg$优先级第二
    3、^~ /a/优先级第三

    proxy模块的介绍

    Nginx转发模块是ngx_http_proxy_module,默认安装,可以直接使用
    Proxy_pass此指令用于转发location匹配到的url到serve池子中。
    参数:
    proxy_set_header 让proxy获取RS的head(虚拟主机名字)
    client_body_buffer_size客户端请求缓存大小,可以理解为先保存本地在传给用户
    proxy_connect_timeout 与RS链接超时的时间
    proxy_send_timeout RS回传数据的时间,必须在这个时间段内传完,否则断开连接
    proxy_read_timeout 等待RS响应的时间,标明连接已经成功,正在排队
    proxy_buffer_size 缓存区大小,默认等于指令proxy_buffers设置的大小
    proxy_buffers 缓冲区的数量和大小,从RS获取的响应信息会放置到缓冲区
    proxy_busy_buffers_size系统很忙时可以使用的proxy_buffers大小,官方推荐的大小是proxy_buffers的两倍
    proxy_temp_file_write_size 缓存临时文件的大小
    proxy_set_headerhost $host当RS有多个虚拟主机的时候需要逐个指定
    proxy_set_headerX-Forwarded-For $remote_addr 开启负载均衡器转发真实客户的IP地址给RS. 
    注意:
    “proxy_set_header”当我们的RS有多个虚拟主机(相同的ip,相同的端口)的时候如www、bbs、blog,代理服务器怎么知道将请求发到哪呢,这个时候nginx代理就会查找proxy_set_header参数,将请求发送到相应域名的虚拟主机上。

    http://www.lai18.com/content/24608730.html

  • 相关阅读:
    java代码水仙花
    java代码求奖金。要求从键盘输入利润
    java中输入3个数,从大到小的输出。。。。
    java代码从键盘输入n的值,计算1+1/2+1/3+...+1/n的值,,
    java求1+1/2+1/3+1/4+......+1/n的值
    求分数1+1/2+1/3+.....+1/n的值
    论程序员成长:如何像游戏一样打怪?新手值得重视!
    网曝某大厂员工下班健身后去领公司夜宵,被罚终身禁止领夜宵并冻结涨薪降考评!
    每个程序员都该学习的5种编程开发语言!最后一门大部分人没听过~
    C语言编程初学者基础知识学习:文件的读写操作!
  • 原文地址:https://www.cnblogs.com/ralphdc/p/7325880.html
Copyright © 2020-2023  润新知