亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網(wǎng)站 > Nginx > 正文

nginx代理多次302的解決方法(nginx Follow 302)

2024-08-30 12:30:06
字體:
來源:轉載
供稿:網(wǎng)友

用proxy_intercept_errors和recursive_error_pages代理多次302

302是HTTP協(xié)議中的一個經(jīng)常被使用狀態(tài)碼,是多種重定向方式的一種,其語義經(jīng)常被解釋為“Moved Temporarily”。這里順帶提一下,現(xiàn)實中用到的302多為誤用(與303,307混用),在HTTP/1.1中,它的語義為“Found”.

302有時候很明顯,有時候又比較隱蔽。最簡單的情況,是當我們在瀏覽器中輸入一個網(wǎng)址A,然后瀏覽器地址欄會自動跳到B,進而打開一個網(wǎng)頁,這種情況就很可能是302。

比較隱蔽的情況經(jīng)常發(fā)生在嵌入到網(wǎng)頁的播放器中。例如,當你打開一個優(yōu)酷視頻播放頁面時,抓包觀察一下就會經(jīng)常發(fā)現(xiàn)302的影子。但由于這些url并不是直接在瀏覽器中打開的,所以在瀏覽器的地址欄看不到變化,當然,如果將這些具體的url特意挑出來復制到瀏覽器地址欄里,還是可以觀察到的。

上一段提到了優(yōu)酷。其實現(xiàn)在多數(shù)在線視頻網(wǎng)站都會用到302,原因很簡單,視頻網(wǎng)站流量一般較大,都會用到CDN,區(qū)別只在于是用自建CDN還是商業(yè)CDN。而由于302的重定向語義(再重復一遍,302的語義廣泛的被誤用,在使用302的時候,我們很可能應該使用303或307,但后面都不再糾結這一點),可以與CDN中的調度很好的結合起來。

我們來看一個例子,打開一個網(wǎng)易視頻播放頁面,抓一下包,找到302狀態(tài)的那個url。例如:

http://flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4

我們把它復制到瀏覽器地址欄中,會發(fā)現(xiàn)地址欄迅速的變?yōu)榱肆硗庖粋€url,這個Url是不定的,有可能為:

http://14.18.140.83/f6c00af500000000-1408987545-236096587/data6/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4

用curl工具會更清楚的看到整個過程:

curl -I "http://flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4" -LHTTP/1.1 302 Moved Temporarily Server: nginx Date: Mon, 25 Aug 2014 14:49:43 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive NG: CCN-SW-1-5L2 X-Mod-Name: GSLB/3.1.0 Location: http://119.134.254.9/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4 HTTP/1.1 302 Moved Temporarily Server: nginx Date: Mon, 25 Aug 2014 14:49:41 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive X-Mod-Name: Mvod-Server/4.3.3 Location: http://119.134.254.7/cc89fdac00000000-1408983581-2095617481/data4/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4 NG: CHN-SW-1-3Y1 HTTP/1.1 200 OK Server: nginx Date: Mon, 25 Aug 2014 14:49:41 GMT Content-Type: video/mp4 Content-Length: 3706468 Last-Modified: Mon, 25 Aug 2014 00:23:50 GMT Connection: keep-alive Cache-Control: no-cache ETag: "53fa8216-388e64" NG: CHN-SW-1-3g6 X-Mod-Name: Mvod-Server/4.3.3 Accept-Ranges: bytes

可以看到,這中間經(jīng)歷了兩次302。

先暫時將這個例子放在一邊,再來說說另一個重要的術語:proxy.我們通常會戲稱,某些領導是302類型的,某些領導是proxy類型的。302類型的領導,一件事情經(jīng)過他的手,會迅速的轉給他人,而proxy類型的領導則會參與到事情中來,甚至把事情全部做完。

回到上面的例子,如果訪問一個url中途會有多個302,那如果需要用Nginx設計一個proxy,來隱藏掉中間所有的這些302,該怎么做呢?

1.原始Proxy

我們知道,Nginx本身就是一個優(yōu)秀的代理服務器。因此,首先我們來架設一個Nginx正向代理,服務器IP為192.168.109.128(我的一個測試虛擬機)。

初始配置簡化如下:

server {    listen 80;    location / {        rewrite_by_lua '            ngx.exec("/proxy-to" .. ngx.var.request_uri)        ';    }    location ~ /proxy-to/([^/]+)(.*) {        proxy_pass http://$1$2$is_args$query_string;    }}

實現(xiàn)的功能是,當使用

http://192.168.109.128/xxxxxx

訪問該代理時,會proxy到xxxxxx所代表的真實服務器。

測試結果如下:

curl -I "http://192.168.109.128/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4" -LHTTP/1.1 302 Moved Temporarily Server: nginx/1.4.6 Date: Mon, 25 Aug 2014 14:50:54 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive NG: CCN-SW-1-5L2 X-Mod-Name: GSLB/3.1.0 Location: http://183.61.140.24/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4 HTTP/1.1 302 Moved Temporarily Server: nginx Date: Mon, 25 Aug 2014 14:50:55 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive X-Mod-Name: Mvod-Server/4.3.3 Location: http://183.61.140.20/540966e500000000-1408983655-236096587/data1/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4 NG: CHN-ZJ-4-3M4 HTTP/1.1 200 OK Server: nginx Date: Mon, 25 Aug 2014 14:50:55 GMT Content-Type: video/mp4 Content-Length: 3706468 Last-Modified: Mon, 25 Aug 2014 00:31:03 GMT Connection: keep-alive Cache-Control: no-cache ETag: "53fa83c7-388e64" NG: CHN-ZJ-4-3M4 X-Mod-Name: Mvod-Server/4.3.3 Accept-Ranges: bytes

可見,雖然使用proxy,但過程與原始訪問沒有什么區(qū)別。訪問過程為,當訪問

http://192.168.109.128/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4

時,Nginx會將該請求proxy到

http://flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4

而后者馬上就會返回一個302,所以Nginx作為proxy,將該302傳回到客戶端,客戶端重新發(fā)起請求,進而重復之前的多次302.這里說明一個問題,一旦Nginx的proxy的后端返回302后,客戶端即與Nginx這個proxy脫離關系了,Nginx無法起到完整的代理的作用。

2. 第1次修改

將配置文件修改為:

server {    listen 80;    location / {        rewrite_by_lua '            ngx.exec("/proxy-to" .. ngx.var.request_uri)        ';    }    location ~ /proxy-to/([^/]+)(.*) {        proxy_pass http://$1$2$is_args$query_string;        error_page 302 = @error_page_302;    }    location @error_page_302 {        rewrite_by_lua '            local _, _, upstream_http_location = string.find(ngx.var.upstream_http_location, "^http:/(.*)$")            ngx.header["zzzz"] = "/proxy-to" .. upstream_http_location            ngx.exec("/proxy-to" .. upstream_http_location);        ';    }}

與上面的區(qū)別在于,使用了一個error_page,目的是當發(fā)現(xiàn)proxy的后端返回302時,則用這個302的目的location繼續(xù)proxy,而不是直接返回給客戶端。并且這個邏輯里面包含著遞歸的意思,一路跟蹤302,直到最終返回200的那個地址。測試結果如下:

curl -I "http://192.168.109.128/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4" -LHTTP/1.1 302 Moved Temporarily Server: nginx/1.4.6 Date: Mon, 25 Aug 2014 15:01:17 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive NG: CCN-SW-1-5L2 X-Mod-Name: GSLB/3.1.0 Location: http://183.61.140.24/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4 HTTP/1.1 302 Moved Temporarily Server: nginx Date: Mon, 25 Aug 2014 15:01:17 GMT Content-Type: text/html Content-Length: 154 Connection: keep-alive X-Mod-Name: Mvod-Server/4.3.3 Location: http://183.61.140.20/a90a952900000000-1408984277-236096587/data1/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4 NG: CHN-ZJ-4-3M4 HTTP/1.1 200 OK Server: nginx Date: Mon, 25 Aug 2014 15:01:17 GMT Content-Type: video/mp4 Content-Length: 3706468 Last-Modified: Mon, 25 Aug 2014 00:31:03 GMT Connection: keep-alive Cache-Control: no-cache ETag: "53fa83c7-388e64" NG: CHN-ZJ-4-3M4 X-Mod-Name: Mvod-Server/4.3.3 Accept-Ranges: bytes

可見,本次修改仍然沒有成功!

為什么呢?分析一下,我們在@error_page_302這個location里已經(jīng)加了一個頭部打印語句,可是在測試中,該頭部并沒有打出來,可見流程并沒有進入到@error_page_302這個location。

原因在于

error_page 302 = @error_page_302;

error_page默認是本次處理的返回碼。作為proxy,本次處理,只要轉發(fā)上游服務器的響應成功,應該狀態(tài)碼都是200.即,我們真正需要檢查的,是proxy的后端服務器返回的狀態(tài)碼,而不是proxy本身返回的狀態(tài)碼。查一下Nginx的wiki,proxy_intercept_errors指令正是干這個的:

Syntax: proxy_intercept_errors on | off;Default:  proxy_intercept_errors off;Context:  http, server, locationDetermines whether proxied responses with codes greater than or equal to 300 should be passed to a client or be redirected to nginx for processing with the error_page directive.

3. 第二次修改

server {    listen 80;    proxy_intercept_errors on;    location / {        rewrite_by_lua '            ngx.exec("/proxy-to" .. ngx.var.request_uri)        ';    }    location ~ /proxy-to/([^/]+)(.*) {        proxy_pass http://$1$2$is_args$query_string;        error_page 302 = @error_page_302;    }    location @error_page_302 {        rewrite_by_lua '            local _, _, upstream_http_location = string.find(ngx.var.upstream_http_location, "^http:/(.*)$")            ngx.header["zzzz"] = "/proxy-to" .. upstream_http_location            ngx.exec("/proxy-to" .. upstream_http_location);        ';    }}

與上一次修改相比,區(qū)別僅僅在于增加了一個proxy_intercept_errors指令。測試結果如下:

curl -I "http://192.168.109.128/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4" -L HTTP/1.1 302 Moved TemporarilyServer: nginx/1.4.6Date: Mon, 25 Aug 2014 15:05:54 GMTContent-Type: text/htmlContent-Length: 160Connection: keep-alivezzzz: /proxy-to/183.61.140.24/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4

這次更神奇了,直接返回一個302狀態(tài)完事,也不繼續(xù)跳轉了。

問題出在,雖然第一次302,請求成功的進入到@error_page_302,但后續(xù)的error_page指令卻沒起作用。也就是說,error_page只檢查了第一次后端返回的狀態(tài)碼,而沒有繼續(xù)檢查后續(xù)的后端狀態(tài)碼。

查一下資料,這個時候,另一個指令 recursive_error_pages就派上用場了。

4. 第3次修改

server {    listen 80;    proxy_intercept_errors on;    recursive_error_pages on;    location / {        rewrite_by_lua '            ngx.exec("/proxy-to" .. ngx.var.request_uri)        ';    }    location ~ /proxy-to/([^/]+)(.*) {        proxy_pass http://$1$2$is_args$query_string;        error_page 302 = @error_page_302;    }    location @error_page_302 {        rewrite_by_lua '            local _, _, upstream_http_location = string.find(ngx.var.upstream_http_location, "^http:/(.*)$")            ngx.header["zzzz"] = "/proxy-to" .. upstream_http_location            ngx.exec("/proxy-to" .. upstream_http_location);        ';    }}

與上一次相比,僅僅增加了recursive_error_pages on這條指令。測試結果如下:

curl -I "http://192.168.109.128/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4" -L HTTP/1.1 200 OK Server: nginx/1.4.6 Date: Mon, 25 Aug 2014 15:09:04 GMT Content-Type: video/mp4 Content-Length: 3706468 Connection: keep-alive zzzz: /proxy-to/14.18.140.83/f48bad0100000000-1408984745-236096587/data6/flv.bn.netease.com/tvmrepo/2014/8/5/P/EA3I1J05P/SD/EA3I1J05P-mobile.mp4 Last-Modified: Mon, 25 Aug 2014 00:21:07 GMT Cache-Control: no-cache ETag: "53fa8173-388e64" NG: CHN-MM-4-3FE X-Mod-Name: Mvod-Server/4.3.3 Accept-Ranges: bytes

可見,Nginx終于成功的返回200了。此時,Nginx才真正起到了一個Proxy的功能,隱藏了一個請求原本的多個302鏈路,只返回客戶端一個最終結果。

5. 小結

綜上,通過proxy_pass、error_page、proxy_intercept_errors、recursive_error_pages這幾個指令的配合使用,可以向客戶端隱藏一條請求的跳轉細節(jié),直接返回用戶一個狀態(tài)碼為200的最終結果。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關教程知識閱讀請移步到服務器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
www国产成人免费观看视频 深夜成人网| 亚洲男女视频在线观看| 国产a∨精品一区二区三区不卡| 国产精品久久久久77777丨| 欧美videosex性极品hd| 国产福利一区在线观看| 成人在线观看亚洲| 日批视频免费看| 欧美h视频在线| 国产黄色美女视频| 精品夜夜澡人妻无码av| 成人综合av| 母乳一区在线观看| 亚洲成人精选| 日韩中文字幕在线观看| 少妇高潮一区二区三区99| 91av影院| 国产女优裸体网站| 野外性满足hd| 青青草国产免费自拍| 亚洲精品水蜜桃| 91成人精品视频| 欧美久久婷婷综合色| 1024免费在线视频| 青青青在线免费观看| 视频91a欧美| 亚洲美女在线播放| 99国产精品久| 亚洲天堂自拍偷拍| 一本色道久久综合| 久久一日本道色综合| 成人综合婷婷国产精品久久免费| 视频一区国产视频| 欧美性猛交xxxx免费看蜜桃| 亚洲永久精品国产| 久草在线在线| 欧美男女视频| 天海翼在线视频| 亚洲一区二区福利| 欧美r级在线| 亚洲国产精品一区二区久| 97超碰人人澡| 少妇久久久久久被弄到高潮| 欧美性猛交xxxxxxxx| 日韩综合精品| 超碰一区二区三区| 欧美三级精品| 都市激情久久| 黄色免费在线网站| 911美女片黄在线观看游戏| 国产精品久久久久久久免费| 99热这里只有精品3| 久久免费国产视频| 国产麻花豆剧传媒精品mv在线| 性高潮久久久久久久久久| 亚洲精品中文字幕在线观看| 精品一区二区三区久久| 亚洲va码欧洲m码| 国内一区二区视频| 91嫩草亚洲精品| 91亚洲一区二区| 亚洲v国产v| 日韩一区二区三区高清免费看看| 国产综合内射日韩久| 亚洲激情成人| 国产欧美日韩另类一区| 国产h在线观看| 国产综合视频| ww久久中文字幕| 老熟妻内射精品一区| 亚欧精品一区二区三区| 久热在线观看视频| 国产成人在线精品| 青春草视频在线| 97久久天天综合色天天综合色hd| 天堂8在线天堂资源bt| 亚洲精品电影网在线观看| 中文字幕第69页| 久久香蕉精品视频| 香蕉久久99| 97av视频在线| 日韩欧美伦理电影院| 国产91一区| 裸体一区二区三区| 亚洲综合视频在线观看| 国产视频在线一区| 日本新janpanese乱熟| 国产精品久久精品牛牛影视| 国产精品一区二区三区乱码| 97久久超碰福利国产精品…| 无码人妻久久一区二区三区蜜桃| 亚洲视频在线观看不卡| 三上悠亚免费在线观看| 国产在线更新| 中文字幕欧美日韩精品| 四季av中文字幕| 国产成人啪精品午夜在线观看| 国产精品高清在线| 日韩综合中文字幕| 成人黄色在线播放| 亚洲1区2区3区4区| 成人一区而且| 日韩精品在线免费| 手机av在线看| 激情五月综合色婷婷一区二区| av在线播放网站| h无码动漫在线观看| 国产精品免费看久久久香蕉| 国产亚洲视频中文字幕视频| 欧美电影《轻佻寡妇》| 激情福利在线| 精品资源在线看| 伊人久久大香线蕉| www.亚洲视频.com| 91九色丨porny丨国产jk| 黄色免费av网站| 欧美激情精品久久久六区热门| 日韩网站在线播放| 久久久久久久久久久久久女过产乱| 日本一二三区视频| 日韩精品在线网站| 亚洲 国产 欧美一区| 成人免费黄色| 偷拍视频一区二区三区| 亚洲图区在线| 日本伊人精品一区二区三区观看方式| 九色蝌蚪国产| 国产美女特级嫩嫩嫩bbb片| 66视频精品| 黑人巨大精品一区二区在线| 欧美日韩亚洲国产成人| 免费超碰在线| 人禽交欧美网站| 国产一区二区三区免费观看| 一级黄色录像免费看| 在线播放av网站| 久久免费精品一区二区| 日本中文字幕不卡| 久久久精品综合| 特黄视频在线观看| fc2ppv完全颜出在线播放| 日韩在线视频二区| 成人xxxx| 亚洲主播在线| 国产一区在线观| 色姑娘综合天天| 免费亚色电影在线观看| 黄在线免费观看| 美女在线一区| av软件在线观看| 亚洲一区二区三区乱码| 高清视频在线www色| 性欧美8khd高清极品| 国产又黄又粗又长| 先锋影音男人资源网| 伊人久久久久久久久久久久久| 妞干网在线免费视频| 深夜福利视频在线免费观看| 亚洲高清av在线| 精品视频—区二区三区免费| 欧美日韩中文字幕在线| 99久久久国产精品免费调教网站| 一区av在线播放| 亚洲电影免费观看高清完整版在线观看| 国产不卡一卡2卡三卡4卡5卡在线| 欧美日韩国产片| 久久人人爽av| 国产欧美日韩亚州综合| 色综合久久六月婷婷中文字幕| 亚洲欧美综合久久久| 两女双腿交缠激烈磨豆腐| 亚洲精品二区三区| 国产乱了高清露脸对白| 中国色在线日|韩| 日韩在线精品| 青青草这里只有精品| 999久久久免费精品国产| 国产性猛交xxxx免费看久久| 同性视频网站免费男| 欧美日韩精品欧美日韩精品| 日韩欧美在线一区| 免费在线一级视频| 两根大肉大捧一进一出好爽视频| 伊人成人免费视频| 久久99精品久久久久久秒播放器| 国产精品一级二级| 久久视频在线直播| 性做久久久久久久免费看| 国产精品入口日韩视频大尺度| 国产精品扒开腿做爽爽| 中文字幕日韩专区| 精品中文字幕久久久久久| 九九免费视频| 黄污视频在线观看| 亚洲色图图片区| 欧美国产日韩一区二区| 国产成人综合一区二区三区| 超碰高清在线| 国内精品模特av私拍在线观看| 成人自拍性视频| 亚洲人成网www| 99久久夜色精品国产亚洲| 中文字幕 欧美日韩| 人妻中文字幕一区| 欧美日韩精品在线一区| 日韩欧美视频一区| 亚洲免费观看高清完整版在线观看| 久久久久久久国产视频| 免费欧美视频| 久久av免费观看| 欧美久久在线观看| 亚洲v欧美v另类v综合v日韩v| 精品一区二区三区久久| av免费网站在线观看| 久久久久久国产精品一区| 久久天堂夜夜一本婷婷麻豆| 国产美女一区二区| 欧美sss在线视频| 日本亚洲欧洲色| 国产高清成人久久| 777一区二区| 中文字幕日本欧美| 国自产精品手机在线观看视频| 99re66热这里只有精品3直播| 人妻熟妇乱又伦精品视频| 国产1区2区3区在线| 超碰个人在线| 天堂网在线.www天堂在线视频| 中老年在线免费视频| 日韩毛片在线一区二区毛片| a毛片毛片av永久免费| 日韩精品一区二区三区丰满| 一二三区免费视频| 日本电影在线观看| 99青春婷婷视频| 天堂网在线观看视频| 久久香蕉国产线看观看av| 国产精品久久久久久吹潮| 国产精品久久午夜夜伦鲁鲁| 精油按摩中文字幕久久| 影音先锋日韩资源| 欧美大片日本大片免费观看| 久久99精品久久久久久园产越南| 色吊丝中文字幕| 国模精品娜娜一二三区| 国产精品亚洲d| 超级黄的软件| 一二三区在线| 在线观看入口黄最新永久免费国产| 国产日韩一级二级三级| 国产精品igao网网址不卡| 成视频在线观看免费观看| 黄页在线播放| 免费看一级大黄情大片| 成人黄色电影网址| 深夜福利网站在线观看| 国产在线不卡一卡二卡三卡四卡| 欧美午夜a级限制福利片| 欧美a一区二区| 日韩av一区二区在线观看| 欧美精品国产精品日韩精品| 农村少妇一区二区三区四区五区| 国产91足控脚交在线观看| 国产图片综合| 在线中文字幕视频观看| 91在线超碰| 一级香蕉视频在线观看| 国产欧美va欧美va香蕉在| 先锋影音av网站| 麻豆影视在线观看| 国产91对白刺激露脸在线观看| 亚洲电影影音先锋| 欧美日韩免费做爰大片| 日韩欧美在线第一页| 亚洲国产成人私人影院| 成人午夜在线播放| 欧美日韩一区二区区| 国产成人精品视频一区| 不用播放器成人网| 国产成人在线观看网站| 国产成人精品一区二区三区免费| 日韩三级电影| 国产精品二区三区四区| 亚洲色图一区二区| 中文在线免费一区三区| 国产视频中文字幕| 久久国产乱子精品免费女| 草民午夜欧美限制a级福利片| 51午夜精品国产| 亚洲tv在线观看| 午夜一区在线观看| 国产精品中文字幕日韩精品| 77777少妇光屁股久久一区| 日韩在线导航| 一级黄色大片免费观看| 亚洲欧美中文在线视频| 久热中文字幕在线观看| 六月丁香婷婷色狠狠久久| 污免费在线观看| 成视频年人免费看黄网站| 性欧美video另类hd尤物| 蜜桃视频免费观看一区| 成人在线播放免费观看| 成人做爰免费视频免费看| 国产网站欧美日韩免费精品在线观看| 欧美xxxx性| 亚洲美女喷白浆| 亚洲精品一区三区三区在线观看| 日本高清在线观看视频| 亚洲综合在线小说| 精品综合久久88少妇激情| 91tv亚洲精品香蕉国产一区| 成人伊人精品色xxxx视频| 在线能看的av| 成人福利在线| 91丨porny丨九色| av大片免费在线观看| 成人免费网站在线看| 麻豆91免费| 久久精品999| 国产精品-区区久久久狼| 亚洲免费精彩视频| 国产区在线观看成人精品| 国产在线一区二区三区四区| 中文字幕精品一区久久久久| 欧美一级片免费在线观看| 国产精品久久久久久久妇| 日韩欧美高清dvd碟片|