精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

記一次跨域配置引發(fā)的思考

開發(fā) 新聞
本文主要記錄一次靜態(tài)資源服務源站更新了跨域策略后,引發(fā)的客戶端跨域請求失敗的案例。

作者簡介

Flora,攜程高級研發(fā)經(jīng)理,關(guān)注Node.js相關(guān)領(lǐng)域。

如果對跨域不太熟悉的同學,可以閱讀一下MDN HTTP訪問控制(CORS)這篇文章。相關(guān)概念在本文中就不再做贅述。

一、背景回顧

一個周五的下午,我們收到了一個需求,需要調(diào)整一下響應頭中的Access-Control-Allow-Origin字段。這個需求的起因是什么呢?

先看一下目前的情況。針對webresource站點(后續(xù)皆以這個站點作為資源站點的代號),無論是否是跨域請求,都會返回這樣的頭部。見圖1。

圖片

圖1 請求webresource站點的響應頭截圖

Fig.1 Screenshot of response headers for requesting a webresource site

這個響應看上去似乎沒有什么問題。

但是考慮這樣一個場景:如果用戶需要基于HTTP cookies和HTTP認證信息發(fā)送身份憑證,那么就需要再客戶端設置一個特殊的credentials標志。例如,如果使用了fetch,那么就需要新增fetch的配置,如圖2所示:

圖片

圖2 fetch方法新增credentials配置

Fig.2 fetch method adds credentials configuration

再客戶端調(diào)整成如上配置后,再次運行會報以下錯誤,見圖3。

“Access to fetch at

'https://webresource.c-ctrip.com/ResUnionOnline/R1/common/marinRedirect.js?v=20220903'

from origin 'https://www.ctrip.com' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.”

圖片

圖3 請求出錯截圖

Fig.3 Screenshot of request error

通過翻閱這篇文章(??Reason: Credential is not supported if the CORS header ‘Access-Control-Allow-Origin’ is ‘*??’),我們可以得到解答:

“??CORS?? 請求發(fā)出時,已經(jīng)設定了 credentials,但服務端配置了 http 響應首部 ??Access-Control-Allow-Origin ??的值為通配符 ("*") ,而這與使用 credentials 相悖。”

所以,這才回到了本節(jié)一開始我們需要做的一個調(diào)整,將原先的Access-Control-Allow-Origin設置為具體的origin值,而非 * 星號。

再次調(diào)整之后,服務的響應頭更新為圖4所示:

圖片

圖4 請求webresource站點的響應頭截圖

Fig.4 Screenshot of response headers for requesting a webresource site

二、故障現(xiàn)場

周五代碼調(diào)整好,資源源站服務的單元測試跑通,發(fā)布到金絲雀測試,用戶也反饋不報錯了,變更正式發(fā)布。監(jiān)控看板一切正常,就愉快的回家過周末了。

周六上午突然有開發(fā)同學截了一張圖給我,說他們的應用報錯了:

圖片

圖5 在線故障截圖

Fig.5 Screenshot of online fault

用戶在??https://ebooking.ctrip.com?? 訪問了一個資源,但是這個資源響應的Access-Control-Allow-Origin的頭是 ??https://flights.ctrip.com?? 。我去訪問了這個頁面,并未發(fā)現(xiàn)此類報報錯。回訪了一些用戶,也讓同事一起嘗試訪問,得到的反饋是一部分客戶端報錯,一部分客戶端正常。

三、原因分析

當時我們的第一反應就是再次檢查源站的邏輯更改,發(fā)現(xiàn)源站的Access-Control-Allow-Origin的配置代碼無異常,絕對不會將Access-Control-Allow-Origin的值 origin設置錯誤。再次結(jié)合反饋的情況,是部分用戶會報錯,開始將排障方向轉(zhuǎn)向CDN(Content Delivery Network)。

如果對CDN不熟悉的同學,可以閱讀??wikipedia CDN??或者??What is a CDN (Content Delivery Network)???

首先看這張簡化的CDN結(jié)構(gòu)圖(圖6)。目前針對webresource站點有三家CDN供應商,我們將他們稱為:B供應商、W供應商和A供應商。其中B和W供應商為國內(nèi)用戶提供服務,他們的流量配比分別是50%和50%;A供應商為海外用戶提供服務,他的流量配比是100%。

當一個國內(nèi)用戶請求某個webresource站點的資源時,他有可能會被分配到B、有可能分配到W。B或者W都會有概率(如果CDN節(jié)點命中失敗的話),就會請求到資源源站服務。

圖片

圖6 簡化的CDN結(jié)構(gòu)圖

Fig.6 Simplified CDN Structure Diagram

由于客戶端的反饋是部分正確部分異常,所以推測是CDN供應商可能某一家有異常或者某個節(jié)點有異常。于是再次綁定B供應商和W供應商的服務器節(jié)點進行測試,均設置請求頭中的Origin為??https://ebooking.ctrip.com??。

我們得到了如下的結(jié)果:

1)B供應商響應的內(nèi)容和源站響應的內(nèi)容保持一致,如圖7所示。

圖片

圖7 B供應商的響應體截圖

Fig.7 Screenshot of response body for B supplier

2)W供應商響應的內(nèi)容與源站有2個響應頭不一致,如圖8所示。

圖片

圖8 W供應商的響應體截圖

Fig.8 Screenshot of response body for W supplier

第一個不一致是Access-Control-Allow-Origin不是源站,第二個不一致是缺少了Vary的頭部。細心的同學通過“圖4 請求webresource站點的響應頭截圖”,可以看到,源站是有設置Vary頭部為“Origin, Accept-Encoding”,見圖9。要知道,一旦缺少了這個頭部,就無法標識要基于Origin做協(xié)商緩存。

對Vary不熟悉的同學,可以參看??HTTP Vary??。

“Vary 是一個 HTTP 響應頭部信息,它決定了對于未來的一個請求頭,應該用一個緩存的回復 (response) 還是向源服務器請求一個新的回復。它被服務器用來表明在 ??content negotiation?? algorithm(內(nèi)容協(xié)商算法)中選擇一個資源代表的時候應該使用哪些頭部信息(headers).”

如果Vary字段中有Origin,那么簡單理解可以是基于Origin+URL做緩存。當Origin不一樣的時候,就需要做頭部信息的更新。同理,比如一些特殊文件polyfill,是需要基于瀏覽器做一些處理的,那么就可以設置將User-Agent設置到Vary中,這樣就會針對同一個文件,基于User-Agent做緩存。

圖片

圖9 請求webresource站點的響應頭截圖

Fig.9 Screenshot of response headers for requesting a webresource site

至此問題基本定位到:

當兩個不同的Origin(主站點)跨域請求同一個資源的時候,由于W供應商并沒有根據(jù)資源服務返回的響應,正確配置CDN緩存頭部,這樣會導致返回的Access-Control-Allow-Origin值錯亂。

四、故障解決

解決在線故障第一要素是快速響應。所以我們將國內(nèi)CDN配比從原先的各50%,更改成B供應商100%,保證客戶端的響應正常。

接著聯(lián)系W供應商,當我們認為是供應商的一個嚴重的bug時,供應商的答復是:

①請求Origin: http://ebooking.ctrip.com 緩存下來后(其對應的Etag為W/"D96CF9DBB3B578CC1721941E799BE22D"),由于源站響應了Vary: origin, accept-encoding,走入到了Vary緩存的邏輯中;

②再請求Origin: http://a.ctrip.com,由于走入到Vary緩存的邏輯,且VaryData沒有匹配到http://a.ctrip.com,則走入到Vary miss的邏輯中,miss回上層的時候帶了If-None-Match: W/"D96CF9DBB3B578CC1721941E799BE22D",此次回上層帶的Origin是http://a.ctrip.com,但由于帶了If-None-Match,且源站不同Origin的Etag值是相同的。所以響應了304,這時候就會直接復用Origin: http://ebooking.ctrip.com的響應了,也就會用到Origin: http://ebooking.ctrip.com響應的Access-Control-Allow-Origin頭部了”

這里W供應商這里有一個致命的邏輯錯誤:當用If-None-Match請求源站時,源站返回了304。這代表body沒有改變,但同時源站返回了正確的Access-Control-Allow-Origin的頭給到CDN。然而CDN并沒有替換源站給到的頭,而是直接讀取一個緩存中錯誤的頭。

雖然我們源站遵循了HTTP的標準,但是CDN沒有遵循,導致返回給用戶的響應頭出錯了。

圖片

圖10 304請求也需要響應Vary頭

Fig.10 304 requests also need to respond to the Vary header

經(jīng)過一番溝通,W供應商答應可以將這個邏輯做一個配置,規(guī)避出錯的問題。但是需要按照資源域名逐一配置,也就是配置白名單的方式。

所以最終的解決方案是給到W供應商一批資源域名列表,讓供應商做手動配置。且需要記住每一次新增一個資源域名都要同步到W供應商。

五、經(jīng)驗總結(jié)

經(jīng)過這次的故障,我們有如下總結(jié):

1)測試完整性:資源源站站點的每次更新發(fā)布,除了需要驗證自身應用的正確性,也需要將每個CDN供應商進行逐一的集成測試。因為不知道哪一個環(huán)節(jié)或者哪個配置可能會踩到坑。

2)開發(fā)標準性:無論我們的上游是怎么處理的,資源源站服務的開發(fā)一定要遵循HTTP標準。只有參照標準,才能進行有秩序的治理。??HTTP??是一份需要經(jīng)常拿來閱讀的文檔。

3)資源的唯一性:在引用靜態(tài)資源時,盡量保證資源URL的唯一性,例如可以用md5來標識文件。這樣的好處是,當這個資源出現(xiàn)一些不可預期的故障時,可以及時升級文件來達到快速刷新客戶端請求內(nèi)容的效果,而不是依靠緩存清理工具。

一方面是因為每個CDN供應商purge(清理緩存)的機制不一樣,而且沒有一個治理工具可以獲悉是否每個CDN節(jié)點的緩存正確purge了。我想也許“緩存清理成功率”這個指標并未寫到CDN供應商的交付指標中。

另一個方面是還有一些未可知的緩存節(jié)點,例如客戶端的緩存,又例如在某個酒店內(nèi)部使用的系統(tǒng),有可能酒店內(nèi)部網(wǎng)絡存在緩存。

我們曾經(jīng)發(fā)生過無論如何執(zhí)行CDN側(cè)的緩存清理腳本,客戶端都無法拿到新的資源。與CDN供應商排查了許久未果,最終迫不得已還是修改了引用的URL地址(例如加一個query字段,雖然不優(yōu)雅,但至少能暫時解決問題)。所以保證資源的唯一性還是很有必要的。

最后還想說一句,如果可以實現(xiàn)統(tǒng)一各CDN供應商的標準,那該是件多么美好的事情。

再經(jīng)過一番深入了解后知悉,某些CDN供應商的設計初衷是直接對接存儲,而非一個靜態(tài)源站服務。而一些頭部的配置是直接放在CDN供應商的控制面板中做配置。例如默認不會開啟Vary這些的配置,是為了提升緩存效率。

責任編輯:張燕妮 來源: 攜程技術(shù)
相關(guān)推薦

2018-12-27 09:09:35

2019-11-04 10:37:53

MongoDB宕機日志

2015-07-17 10:05:03

面試思考

2021-11-01 17:29:02

Windows系統(tǒng)Fork

2022-12-17 19:49:37

GCJVM故障

2017-09-01 09:17:51

DNS緩存慘案

2017-08-24 17:37:18

DNS緩存分析

2020-06-12 13:26:03

線程池故障日志

2019-10-09 11:42:10

分布式取錢異步流程

2021-08-20 11:35:04

服務運維 故障

2017-08-22 15:58:56

2024-05-13 08:37:17

炫技H5UI

2023-07-13 09:12:37

CNCF項目云原生

2019-06-25 14:44:11

分布式事務數(shù)據(jù)庫

2022-12-26 10:42:00

康普中國

2018-09-12 09:07:43

服務器數(shù)據(jù)RAID5

2021-11-11 16:14:04

Kubernetes

2013-01-17 10:31:13

JavaScriptWeb開發(fā)firebug

2021-05-13 08:51:20

GC問題排查

2011-02-22 09:29:23

jQueryJavaScript
點贊
收藏

51CTO技術(shù)棧公眾號

水蜜桃久久夜色精品一区| 91麻豆一二三四在线| 日日摸夜夜添夜夜添亚洲女人| 国产婷婷成人久久av免费高清| 欧美日韩在线免费播放| 9色在线视频网站| 国产一区二三区| 91成人在线播放| 永久免费看片直接| 国内自拍欧美| 欧美日韩国产中文| 免费看国产一级片| 在线视频自拍| 99re视频精品| 91在线观看免费高清| 久久久久久久久久久久久av| 日韩在线观看电影完整版高清免费悬疑悬疑| 日韩欧美国产综合一区| 欧美黑人又粗又大又爽免费| 青草影视电视剧免费播放在线观看| 久久综合久久久久88| 91麻豆蜜桃| 中文字幕一区二区人妻痴汉电车| 欧美视频亚洲视频| 亚洲日本欧美日韩高观看| 免费黄视频在线观看| 校园春色亚洲色图| 亚洲va韩国va欧美va精品| 亚洲精品中字| 婷婷婷国产在线视频| 国产成人啪免费观看软件| 国产精品一区二区久久| 久久精品久久久久久久| 激情综合自拍| 精品中文字幕在线观看| 99热6这里只有精品| 亚洲免费福利一区| 亚洲第一在线视频| 乱码一区二区三区| 精品中文字幕一区二区三区四区| 欧美性大战xxxxx久久久| 免费在线激情视频| а√在线中文网新版地址在线| 亚洲黄色免费电影| 91免费视频黄| 福利视频在线| 亚洲欧美一区二区在线观看| 亚洲欧洲一区二区| shkd中文字幕久久在线观看| 91丨porny丨户外露出| 国产色综合一区二区三区| 午夜老司机福利| 国产福利一区二区三区视频在线 | 中文字幕免费高| 成年人视频在线观看免费| 久久精品在线免费观看| 欧美精品一区二区视频| 黄色片免费在线| 久久精品一二三| 日韩偷拍一区二区| www.国产精品.com| 亚洲欧美视频在线观看视频| 激情五月五月婷婷| 欧美大片黄色| 亚洲h精品动漫在线观看| 欧美午夜性视频| 蜜桃视频动漫在线播放| 色婷婷久久一区二区三区麻豆| 蜜臀av午夜一区二区三区| 国产成人精品亚洲日本在线观看| 色综合天天综合网天天狠天天 | 日韩av电影网| 性色av一区二区怡红| 国产精品爱久久久久久久| 亚洲天堂自拍偷拍| 国产成人精品一区二| 精品国产一区二区三区麻豆免费观看完整版 | 手机电影在线观看| 婷婷夜色潮精品综合在线| 欧美激情精品久久久久久小说| 成人久久网站| 日韩亚洲欧美在线| 亚洲国产综合视频| 色综合咪咪久久网| 久久久久久国产精品美女| 免费看日韩毛片| 另类调教123区| 国产高清一区视频| 激情小视频在线观看| 亚洲免费av网站| 日韩精品―中文字幕| 久久亚洲精品爱爱| 日韩一区二区精品| 国产中年熟女高潮大集合| 日韩久久视频| 久久久爽爽爽美女图片| 国产精品sm调教免费专区| 国产老肥熟一区二区三区| 精品一区二区日本| 日p在线观看| 欧美日韩国产区| 国产欧美激情视频| 色天下一区二区三区| 日韩在线不卡视频| 国产精品美女久久久久av爽| 经典一区二区三区| 蜜桃av噜噜一区二区三区| 九色porny在线| 欧美日韩一二三四五区| 在线观看日本www| 九九亚洲视频| 韩国一区二区电影| 国产精品高潮呻吟av| 91视频观看视频| 日韩欧美视频免费在线观看| 巨胸喷奶水www久久久免费动漫| 精品国产免费一区二区三区香蕉| 亚洲女同二女同志奶水| 国产精品婷婷| 成人免费在线一区二区三区| 蜜桃视频网站在线观看| 一本久久a久久免费精品不卡| 少妇丰满尤物大尺度写真| 精品freesex老太交| 97视频色精品| 亚洲精品人妻无码| 自拍偷拍亚洲综合| 日韩一区二区三区久久| 久久成人高清| 欧美人狂配大交3d怪物一区| 蜜桃麻豆www久久国产精品| 国产鲁鲁视频在线观看特色| 色屁屁一区二区| 日本一区二区在线观看视频| 99re久久最新地址获取| 欧洲成人免费aa| 人妻与黑人一区二区三区| 亚洲免费视频中文字幕| 亚洲美女爱爱视频| 久久国产精品亚洲人一区二区三区| 91精品国产成人www| 亚洲精品一区二区三区蜜桃| 亚洲免费观看高清完整版在线观看熊 | 超碰在线网址| 欧美卡1卡2卡| 国产黄a三级三级| 久久电影网站中文字幕| 亚洲精品成人a8198a| 99久久久国产精品免费调教网站| 亚洲精品一区在线观看香蕉| 一级片中文字幕| 91小视频免费看| 免费观看日韩毛片| 在线日本制服中文欧美| 欧美最顶级丰满的aⅴ艳星| 亚州av在线播放| 精品国产乱码久久久久久天美| 色婷婷精品久久二区二区密| 亚洲精品视频啊美女在线直播| 国产精品手机视频| 涩涩涩视频在线观看| 亚洲精品黄网在线观看| 伊人中文字幕在线观看| 日本一区二区综合亚洲| 手机在线成人免费视频| 91九色精品| 国产成人精品一区二区三区福利| 超黄网站在线观看| 亚洲男人天堂视频| 中文字幕乱码视频| 亚洲黄色片在线观看| 少妇一级淫免费观看| 久久婷婷麻豆| 97超碰人人爱| 开心激情综合| 国产精品久久久一区| 精品视频在线一区二区| 欧美精品一区二区三区四区| 欧美h在线观看| 中文字幕av不卡| 亚洲熟妇一区二区| 久久久精品日韩| 一区二区三区偷拍| 精品视频自拍| 国产精品亚洲自拍| 国产在线xxx| 国产一区二区三区毛片| www.97av.com| 欧美性猛交xxxx富婆| 99re6热在线精品视频| 成人综合在线观看| 亚洲第一中文av| 欧美淫片网站| 久热国产精品视频一区二区三区| 四虎4545www国产精品| 久久99视频免费| 韩国三级av在线免费观看| 日韩无一区二区| 激情五月婷婷网| 亚洲自拍偷拍九九九| 97人妻人人揉人人躁人人| 国产精品白丝jk白祙喷水网站| 亚洲自偷自拍熟女另类| 国产精品久久久久久久免费观看| 精品日本一区二区三区| 只有精品亚洲| 欧洲美女7788成人免费视频| 黄色网在线免费看| 国产午夜精品免费一区二区三区| 精品人妻午夜一区二区三区四区 | 66m—66摸成人免费视频| 日本不卡不卡| 国产午夜精品免费一区二区三区| 亚洲欧美激情在线观看| 欧美日韩黄色一区二区| 男人天堂av在线播放| 亚洲午夜在线电影| 91香蕉视频网| 国产女同性恋一区二区| 色呦呦一区二区| 国产91在线观看| 黄色aaaaaa| 秋霞成人午夜伦在线观看| 男人日女人下面视频| 欧美日本久久| 97av中文字幕| 国产精品久久久久一区二区三区厕所| 欧美精品在线一区| 日韩超碰人人爽人人做人人添| 91青青草免费观看| 国产精品亚洲欧美一级在线| 国产精品自在线| 日本不卡一二三| 欧美在线免费观看| 中文在线8资源库| 6080yy精品一区二区三区| 96av在线| 亚州欧美日韩中文视频| 99thz桃花论族在线播放| 久久久久久久久亚洲| 污污视频在线看| 欧美疯狂xxxx大交乱88av| 大片免费在线观看| 久久亚洲综合国产精品99麻豆精品福利| av女优在线| 三级精品视频久久久久| 永久免费av片在线观看全网站| 伊人伊人伊人久久| 色视频在线免费观看| 日韩在线精品视频| 美女写真理伦片在线看| 久久视频在线视频| 性欧美videos高清hd4k| 欧美激情视频一区| 爱啪啪综合导航| 奇门遁甲1982国语版免费观看高清| 在线免费看h| 国产精品99久久久久久久久久久久 | 在线视频三区| www.亚洲天堂| 日韩精品分区| 国外色69视频在线观看| 成人性教育av免费网址| 国产精品国产自产拍高清av水多 | 色呦呦在线观看视频| 欧美精品在线观看| 97人人在线视频| 国产mv久久久| 2019中文亚洲字幕| a级国产乱理论片在线观看99| 国内精品偷拍| 日本一区二区精品| 欧美一区二区三区免费看| 男人天堂av片| 久久精品免费| 无码人妻一区二区三区在线视频| 成人丝袜高跟foot| 最近中文字幕在线mv视频在线| 国产精品女同一区二区三区| 岛国毛片在线观看| 高潮白浆女日韩av免费看| 中文字幕+乱码+中文字幕明步| 欧美一区二区不卡视频| 四虎影视在线观看2413| 波霸ol色综合久久| 爱啪视频在线观看视频免费| 国产精品美女www爽爽爽视频| 在线视频成人| 欧美污视频久久久| 欧美精品国产一区二区| 毛葺葺老太做受视频| 国产美女精品一区二区三区| 亚洲乱码国产乱码精品精大量| 国产精品女上位| 日韩xxx高潮hd| 欧美日韩亚洲国产综合| 天堂在线视频免费观看| 日韩在线小视频| 亚洲天堂手机| 亚洲影院高清在线| 国产欧美日韩| 大伊香蕉精品视频在线| 久久国产视频网| 丰满少妇一区二区三区| 亚洲免费在线看| 免费看av在线| 亚洲精品www久久久久久广东| 黄色一级大片在线免费看产| 国产xxx69麻豆国语对白| 999在线精品| 91手机视频在线| 石原莉奈一区二区三区在线观看| 中文字幕55页| 国产午夜精品一区二区| 男女啊啊啊视频| 欧美成人一级视频| 欧美jizz18性欧美| 国产精品∨欧美精品v日韩精品| jazzjazz国产精品久久| 亚洲av首页在线| 麻豆成人免费电影| 天堂久久精品忘忧草| 精品久久久视频| 高h放荡受浪受bl| 精品视频9999| 免费欧美网站| 男同互操gay射视频在线看| 男女激情视频一区| 欧美日韩高清丝袜| 日本乱码高清不卡字幕| 四虎影视精品成人| 51午夜精品视频| 欧美丝袜美腿| 日韩免费视频播放| 成人短视频下载| 国产精品自拍视频一区| 精品久久久久久亚洲综合网| 丝袜美腿av在线| 国产精品传媒毛片三区| 在线精品一区二区| 美女搡bbb又爽又猛又黄www| 亚洲午夜视频在线| 狠狠躁夜夜躁av无码中文幕| 欧美肥臀大乳一区二区免费视频| 96sao精品免费视频观看| 综合国产精品久久久| 国产精品综合一区二区| 青娱乐av在线| 精品毛片乱码1区2区3区| 999精品网| 欧美不卡1区2区3区| 久久国产免费| 日本美女xxx| 欧美日韩国产精品自在自线| 久操视频在线免费播放| 99国精产品一二二线| 亚洲国内欧美| 一二三不卡视频| 在线看国产一区二区| 欧美尤物美女在线| 亚洲aⅴ日韩av电影在线观看| 欧美精品91| 免费的av网站| 欧洲激情一区二区| 麻豆电影在线播放| 99在线观看| 欧美亚洲自偷自偷| 久久国产柳州莫菁门| 91麻豆精品国产自产在线 | 青青草国产精品一区二区| 国产一区二区区别| 国产精品自在自线| 亚洲国产美女搞黄色| 欧美美女搞黄| 成人性教育视频在线观看| 亚洲成人资源| 国产午夜福利一区| 日韩一区二区影院| 不卡一二三区| 爱爱爱视频网站| 99精品国产99久久久久久白柏| 波多野结衣av无码| 久久最新资源网| 亚洲男人都懂第一日本| 一起操在线视频| 欧美日韩国产精品专区 | 精品免费在线| 亚洲精品久久久久久| 欧美性色视频在线| 国产激情小视频在线| 欧美精品人人做人人爱视频| 狠狠色综合播放一区二区| 免费在线不卡视频| 久久影院模特热| 美女久久久久| 久草福利在线观看| 欧美在线免费观看亚洲| tube8在线hd| 91香蕉视频网址| 2021久久国产精品不只是精品|