<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                * proxy_pass指令 static01 └── cuffs └── css └── test01.jpg static01cuffs └── css └── test01.jpg proxy └── cuffs └── css └── test01.jpg cuffs └── css └── test01.jpg 第一種絕對路徑: ~~~ location /proxy/ { proxy_pass http://10.0.0.1:8080/; } ~~~ 當訪問http://test.51yuki.cn/proxy/cuffs/css/test01.jpg 時,nginx匹配到proxy路徑,把請求轉給10.0.0.1:8080服務,實際請求的路徑為http://10.0.0.1:8080/cuffs/css/test01.jpg 第二種相對路徑 ~~~ location /proxy/ { proxy_pass http://10.0.0.1:8080; } ~~~ 當訪問http://test.51yuki.cn/proxy/cuffs/css/test01.jpg 時,nginx匹配到/proxy/路徑,把請求轉發給10.0.0.1:8080服務,實際請求代理服務器的路徑為http://10.0.0.1:8080/proxy/cuffs/css/test01.jpg 此時nginx會把匹配的proxy也代理給代理服務器 注意: location /bbs/ { proxy_pass http://192.168.20.139:8085/; } 表示當訪問http://test.51yuki.cn/bbs/index.html 代理服務器映射到http://192.168.20.139:8085/ 第三種:當前后路徑不一致 ~~~ location /proxy/ { proxy_pass http://10.0.0.1:8080/static01/; } ~~~ 當訪問 http://127.0.0.1/proxy/cuffs/css/test01.jpg時, nginx匹配到/proxy/路徑,把請求轉發給10.0.0.1:8080服務,實際請求代理服務器的路徑http://10.0.0.1:8080/static01/cuffs/css/test01.jpg 注意: 如果static01后面的/ 不輸入的話,就會造成實際請求代理服務器的路徑為http://10.0.0.1:8080/static01cuffs/css/toosimple.txt 第四種:模式匹配 ~~~ location ~* \.(jpg|png|gif|jpeg)$ { proxy_pass http://192.168.20.139:8085; } ~~~ 注意:這個proxy_pass后面不能帶有斜線,否則就判定為語法錯誤 當訪問http://test.51yuki.cn/images/test01.jpg nginx匹配到該規則,就把請求轉發給后端192.168.20.139:8085服務器,實際請求代理服務器的路徑為 http://192.168.20.139:8085/images/test01.jpg 第五種: URL重寫 如果location中有url重寫功能,會把重寫后的URL地址,附帶在后端服務器 * proxy_set_header field value; 功能:允許重新定義或添加字段傳遞給代理服務器的請求頭。該值可以包含文本、變量和它們的組合,proxy_set_header 就是可設置請求頭-并將頭信息傳遞到服務器端。 案例: proxy_set_header Host $host:$proxy_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; ~~~ location /forum/ { proxy_pass http://192.168.20.139:8085/bbs/; proxy_set_header Host $host:$proxy_port; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $remote_addr; } 服務器端日志 192.168.20.131 - - [11/Feb/2018:14:09:07 +0800] "GET /bbs/ HTTP/1.0" 200 24 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" "10.2.18.231" 其中10.2.18.231為真實客戶端的ip地址,192.168.20.131為代理服務器的內網IP地址 ~~~ * proxy_redirect proxy_redirect redirect replacement; 場景1: ~~~ location / { proxy_pass http://192.168.20.139:8085; proxy_set_header Host $host:$proxy_port; proxy_set_header X-Forwarded-For $remote_addr; 當客戶端使用瀏覽器輸入http://test.51yuki.cn/bbs/index.html 會自動跳轉到http://test.51yuki.cn:8085/bbs/index.hml ~~~ 遇到上面的情況,我們就可以使用proxy_redirect proxy_redirect http://test.51yuki.cn:8085/ http://test.51yuki.cn/; 發現就可以正常訪問 場景2 ~~~ location /test/ { proxy_pass http://10.65.192.xx:8080/; proxy_redirect http://$host/ https://$host:$server_port/test/; } ~~~ 二)proxy代理超時時間 * proxy_connect_timeout 功能:proxy_connect_timeout是和后端建立連接的超時時間。需要記住的是,這個時間不能超過75秒 * proxy_read_timeout 功能:從后端讀取數據的響應時間,只是在兩個連續的讀取操作之間設置超時。 它決定了nginx會等待多長時間來獲得請求的響應 * proxy_send_timeout 功能: 這個指定設置了發送請求給upstream服務器的超時時間。超時設置不是為了整個發送期間,而是在兩次write操作期間。如果超時后,upstream沒有收到新的數據,nginx會關閉連接 案例: proxy_connect_timeout 65s; proxy_send_timeout 65ss; proxy_read_timeout 65s; 三)緩沖相關 nginx從后端服務器獲得響應報文后,默認會將其緩存起來,響應包文件被存儲在內部緩存中,直到接受完整個報文,然后構建響應報文,發送給客戶端,常見指令如下 響應報文: 響應首部,報文主體 * proxy_buffering 功能:負載開啟或關閉代理緩沖,默認為on * proxy_buffer_size ~~~ Syntax: proxy_buffer_size size; Default: proxy_buffer_size 4k|8k; Context: http, server, location ~~~ 功能:負責設置接收第一部分響應報文的緩沖的大小 * proxy_buffer ~~~ Syntax: proxy_buffers number size; Default: proxy_buffers 8 4k|8k; Context: http, server, location ~~~ 功能: 負責接收第二部分響應報文的緩沖個數以及大小 * proxy_temp_path ~~~ Syntax: proxy_temp_path path [level1 [level2 [level3]]]; Default: proxy_temp_path proxy_temp; Context: http, server, location ~~~ 功能:該指令用于配置磁盤上的一個文件路徑,該文件用于臨時存放代理服務器的大體積響應數據 案例: proxy_temp_path /nginx/proxy_web/spool/proxy_temp 1 2; /nginx/proxy_web/spool/proxy_temp/1/10/00000100101 * proxy_max_temp_file_size 功能:該指令用于配置所有臨時文件的總體積大小,存放在磁盤上的臨時文件大小不能超過該配置值,這避免了響應數據過大造成磁盤空間不足的問題 四)緩存相關的 * proxy_cache_path 語法: ~~~ Syntax: proxy_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] [manager_files=number] [manager_sleep=time] [manager_threshold=time] [loader_files=number] [loader_sleep=time] [loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep=time] [purger_threshold=time]; Default: — Context: http ~~~ 功能:設置緩存數據存儲的位置(這個參數可以定義多個) 案例: proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m; * proxy_cache_min_uses 功能:某一個響應報文被響應了多少次才被緩存下來 * proxy_cache_use_stale ~~~ Syntax: proxy_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | off ...; Default: proxy_cache_use_stale off; Context: http, server, location ~~~ 確定在與代理服務器通信期間發生錯誤時,在哪些情況下可以使用過時的高速緩存響應 * proxy_cache_valid ~~~ Syntax: proxy_cache_valid [code ...] time; Default: — Context: http, server, location ~~~ 功能: 設置不同響應代碼的緩存時間 案例: proxy_cache_valid 200 302 10m; proxy_cache_valid 301 1h; proxy_cache_valid any 1m; * proxy_cache_bypass ~~~ Syntax: proxy_cache_bypass string ...; Default: — Context: http, server, location ~~~ 功能:定義哪些情況下,不要從緩存獲取響應 案例: proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment; proxy_cache_bypass $http_pragma $http_authorization; * proxy_cache_key ~~~ Syntax: proxy_cache_key string; Default: proxy_cache_key $scheme$proxy_host$request_uri; Context: http, server, location ~~~ 功能: 定義緩存的鍵 案例: proxy_cache_key $scheme$proxy_host$uri$is_args$args; 緩存案例01: proxy_cache_path /data/nginx/cache/ levels=1:2:2 keys_zone=mycache:128m; (在http段定義緩存) server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } (在location段調用緩存) location /bbs/ { proxy_cache mycache; proxy_cache_methods GET HEAD; proxy_cache_key $scheme$proxy_host$uri$is_args$args; proxy_cache_min_uses 2; proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504; proxy_cache_valid 200 10m; proxy_cache_valid 301 302 5m; proxy_cache_valid any 1m; proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment $http_pragma $http_authorization; proxy_pass http://192.168.20.139:8085/bbs/; proxy_set_header Host $host:$proxy_port; proxy_set_header X-Forwarded-For $remote_addr; } 創建目錄并授權 [root@proxy01 conf]# mkdir -pv /data/nginx/cache && chown -R www.www /data/nginx/cache 然后客戶端瀏覽器訪問,并查看代理服務器 http://test.51yuki.cn/bbs/ [root@proxy01 02]# pwd /data/nginx/cache/5/cd/02 [root@proxy01 02]# ll total 4 -rw-------. 1 www www 626 Feb 11 16:45 fe43e48c0935b141246e846c5c002cd5 緩存案例02:配置緩存修剪案例 http://soft.51yuki.cn/ngx_cache_purge-master.zip 配置如下: location ~ /purge(/.*) { auth_basic "allow purge cache data"; auth_basic_user_file "/opt/.htpasswd"; allow 10.2.18.0/24; allow 127.0.0.1; deny all; proxy_cache_purge mycache $host$1$is_args$args; } htpasswd -c -m /opt/.htpasswd tom (期間需要安裝httpd服務) ~~~ 瀏覽器訪問:http://test.51yuki.cn/purge/bbs/a.htm Successful purge Key : test.51yuki.cn/bbs/a.html Path: /data/nginx/cache/c/9a/5e/36e85e58edcd96369da181c0eab5e9ac nginx/1.12.2 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看