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

502問題怎么排查?你學會了嗎?

網絡 網絡管理
后端服務端應用如果發生崩潰,nginx在訪問服務端時會收到服務端返回的RST報文,然后給客戶端返回502報錯。502并不是服務端應用發出的,而是nginx發出的。因此發生502時,后端服務端很可能沒有沒有相關的502日志,需要在nginx側才能看到這條502日志。

剛工作那會,有一次,上游調用我服務的老哥說,你的服務報"502錯誤了,快去看看是為什么吧"。

當時那個服務里正好有個調用日志,平時會記錄各種200,4xx狀態碼的信息。于是我跑到服務日志里去搜索了一下502這個數字,毫無發現。于是跟老哥說,"服務日志里并沒有502的記錄,你是不是搞錯啦?"

現在想來,多少有些不好意思。

不知道有多少老哥是跟當時的我是一樣的,這篇文章,就來聊聊502錯誤是什么?

我們從狀態碼是什么開始聊起。

HTTP狀態碼

我們平時在瀏覽器里逛的某寶和某度,其實都是一個個前端網頁。

一般來說,前端并不存儲太多數據,大部分時候都需要從后端服務器那獲取數據。

于是前后端之間需要通過TCP協議去建立連接,然后在TCP的基礎上傳輸數據。

而TCP是基于數據流的協議,傳輸數據時,并不會為每個消息加入數據邊界,直接使用裸的TCP進行數據傳輸會有"粘包"問題。

因此需要用特地的協議格式去對數據進行解析。于是在此基礎上設計了HTTP協議。詳細的內容可以看我之前寫的《既然有HTTP協議,為什么還要有RPC》。

比如,我想要看某個商品的具體信息,其實就是前端發的HTTP請求中傳入商品的id,后端返回的HTTP響應中返回商品的價格,商店名,發貨地址的信息等。

圖片

通過id獲取商品詳情

這樣,表面上,我們是在刷著各種網頁,實際上背后正有多次HTTP消息在不斷進行收發。

圖片

用戶在網上瀏覽商品

但問題就來了,上面提到的都是正常情況,如果有異常情況呢,比如前端發的數據,根本就不是個商品id,而是一張圖片,這對于后端服務端來說是不可能給出正常響應的,于是就需要設計一套HTTP狀態碼,用來標識這次HTTP請求響應流程是否正常。通過這個可以影響瀏覽器的行為。

比方說一切正常,那服務端返回個200?狀態碼,前端收到后,可以放心使用響應的數據。但如果服務端發現客戶端發的東西異常,就響應個4xx?狀態碼,意思是這是個客戶端的錯誤,4xx里頭的xx可以根據錯誤的類型,再細分成各種碼,比如401?是客戶端沒權限,404?是客戶端請求了一個根本不存在的網頁。反過來,如果是服務器有問題,就返回5xx狀態碼。

圖片

4xx和5xx的區別

但問題就來了。

服務端都有問題了,搞嚴重點,服務器可能直接就崩潰了,那它還怎么給你返回狀態碼?

是的,這種情況,服務端是不可能給客戶端返回狀態碼的。所以說,一般情況下5xx的狀態碼其實并不是服務器返回給客戶端的。

它們是由網關返回的,常見的網關,比如nginx。

nginx的作用

回到前后端交互數據的話題上,如果前端用戶少,那后端處理起請求來,游刃有余。但隨著用戶越來越多,后端服務器受資源限制,cpu或者內存都可能會嚴重不足,這時候解決方案也很簡單,多搞幾臺一樣的服務器,這樣就能將這些前端請求均攤給幾個服務器,從而提升處理能力。

但要實現這樣的效果,前端就得知道后端具體有哪些個服務器,并一一跟他們建立TCP連接。

圖片

前端與多個服務器之間建立連接

也不是不行,但就是麻煩。

但這時候如果能有個中間層擋在它們中間就好了,這樣客戶端只需要跟中間層連接,中間層再和服務器建立連接。

于是,這個中間層就成了這幫服務器的一個代理人一樣,客戶端有啥事都找代理人,只管發出自己的請求,再由代理人去找某個服務器去完成響應。整個過程下來,客戶端只知道自己的請求被代理人幫忙搞定了,但代理人具體找了那個服務器去完成,客戶端并不知道,也不需要知道。

像這種,屏蔽掉具體有哪些服務器的代理方式就是所謂的反向代理。

圖片

反向代理

反過來,屏蔽掉具體有哪些客戶端的代理方式,就是所謂的正向代理。

而這個中間層的角色,一般由nginx這類網關來充當。

另外,由于背后的服務器可能性能配置各不相同,有些4核8G,有些2核4G,nginx能為它們加上不同的訪問權重,權重高的多轉發點請求,通過這個方式實現不同的負載均衡策略。

nginx返回5xx狀態碼

有了nginx這一中間層后,客戶端從直連服務端,變成客戶端直連nginx,再由nginx直連服務端。從一個TCP連接變成兩個TCP連接。

于是,當服務器發生異常時,nginx發送給服務器的那條TCP連接就不能正常響應,nginx在得到這一信息后,就會返回5xx錯誤碼給客戶端,也就是說5xx的報錯,其實是由nginx識別出來,并返回給客戶端的,服務端本身,并不會有5xx的日志信息。所以才會出現文章開頭的一幕,上游收到了我服務的502報錯,但我在自己的服務日志里卻搜索不到這一信息。

產生502的常見原因

在rfc7231中有關于502錯誤碼的官方解釋是

502 Bad Gateway
The 502 (Bad Gateway) status code indicates that the server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.

翻譯一下就是,502 (Bad Gateway) 狀態代碼表示服務器在充當網關或代理時,在嘗試滿足請求時從它訪問的入站服務器接收到無效響應。

汝聽,人言否?

這對于大部分編程小白來說,不僅沒解釋到問題,反而只會冒出更多的問號。比如,這上面提到的無效響應到底指的是什么?

我來解釋下,它其實是說,502其實是由網關代理(nginx)發出的,是因為網關代理把客戶端的請求轉發給了服務端,但服務端卻發出了無效響應,而這里的無效響應,一般是指TCP的RST?報文或四次揮手的FIN報文。

四次揮手估計大家背的很熟了,所以略過,我們來重點說下RST報文是什么。

RST是什么?

我們都知道TCP正常情況下斷開連接是用四次揮手,那是正常時候的優雅做法。

但異常情況下,收發雙方都不一定正常,連揮手這件事本身都可能做不到,所以就需要一個機制去強行關閉連接。

RST 就是用于這種情況,一般用來異常地關閉一個連接。它是TCP包頭中的一個標志位,在收到置這個標志位的數據包后,連接就會被關閉,此時接收到 RST的一方,在應用層會看到一個 connection reset? 或  connection refused 的報錯。

圖片

TCP報頭RST位

而之所以發出RST報文,一般有兩個常見原因。

服務端過早斷開連接

nginx與服務端之間有一條TCP連接,在nginx將客戶端請求轉發給服務端時,他兩之間按道理會一直保持這條連接,直到服務端將結果正常返回后,再斷開連接。

但如果服務端過早斷開連接,而nginx?卻還繼續發消息過去,nginx就會收到服務端內核返回的RST報文或四次揮手的FIN報文,迫使nginx那邊的連接結束。

過早斷開連接的原因常見的有兩個。

第一個是,服務端設置的超時時間過短。不管是用的哪種編程語言,一般都有現成的HTTP庫?,服務端一般都會有幾個timeout?參數,比如golang的HTTP服務框架里有個寫超時(WriteTimeout?),假設設置了2s?,那它的含義就是,服務端在收到請求后需要在2s內處理完并將結果寫到響應中,如果等不到,就會將連接給斷掉。

比如你的接口處理時間是5s?,而你的WriteTimeout?卻只有2s?,在沒等到響應寫完之前,HTTP框架就會主動將連接給斷開。nginx此時就有可能收到四次揮手的FIN報文?(有些框架也可能發RST報文),然后斷開連接,于是客戶端就會收到一個502報錯。

遇到這種問題,將WriteTimeout的時間調大一些就好了。

圖片

FIN與502的關系

第二個原因,也是造成502狀態碼最常見的原因,就是服務端應用進程崩了(crash)。

服務端崩了,也就是當前沒有一個進程在監聽服務器端口,而此時你卻嘗試向一個不存在的端口發數據,服務器的linux內核協議棧就會響應一個RST數據包。同樣,這時候nginx也會給客戶端一個502。

圖片

RST和502

在開發過程中,這種情況是最常見的。

現在我們大部分的服務器都會將掛掉的服務重啟,因此我們需要判斷下服務是否曾經崩潰過。

如果你有對服務端的cpu或者內存做過監控,可以看下CPU或內存的監控圖是否出現過斷崖式的突然下跌。如果有,十有八九百,就是你的服務端應用程序曾經崩潰過。

圖片

cpu突然暴跌

除此之外你還通過下面的命令,看下進程上次的啟動時間是什么時候。

ps -o lstart {pid}

比如我要看的進程id是13515,命令就需要像下面這樣。

# ps -o lstart 13515
STARTED
Wed Aug 31 14:28:53 2022

可以看到它上次的啟動時間是8月31日,這個時間如果跟你印象中的操作時間有差距,那說明進程可能是崩了之后被重新拉起了。

遇到這種問題,最重要的是找出崩潰的原因,崩潰的原因就多種多樣了,比如,對未初始化的內存地址進行寫操作,或者內存訪問越界(數組arr長度明明只有2,代碼卻讀arr[3])。

這種情況幾乎都是程序有代碼邏輯問題,崩潰一般也會留下代碼堆棧,可以根據堆棧報錯去排查問題,修復之后就好了。比如下面這張圖是golang的報錯堆棧信息,其他語言的也類似。

圖片

報錯堆棧

不打印堆棧的情況

但有一些情況,有時候根本不留下堆棧。

比如內存泄露導致進程占用內存越來越多,最后導致超過服務器的最大內存限制,觸發OOM(out of memory)?, 進程直接就被操作系統kill掉。

還有更隱蔽的,代碼邏輯里隱藏了主動退出進程的操作。比如golang的日志打印里有個方法叫log.Fatalln()?,打印完日志還會順便執行os.Exit()直接退出進程,對源碼不了解的新手很容易犯這個錯。

圖片

打印完順便還退出進程

如果你很明確,你的服務沒有崩過。那繼續往下看。

網關將請求打到了一個不存在的IP上

nginx是通過配置的形式來代理多個服務器。這個配置一般是放在 /etc/nginx/nginx.conf 中。

打開它,你可能會看到類似下面這樣的信息。

upstream xiaobaidebug.top {
server 10.14.12.19:9235 weight=2;
server 10.14.16.13:8145 weight=5;
server 10.14.12.133:9702 weight=8;
server 10.14.11.15:7035 weight=10;
}

上面配置的含義是,如果客戶端訪問xiaobaidebug.top域名,nginx就會將客戶端的請求轉發到下面的4個服務器ip上,ip邊上還有個weight權重,權重越高,被轉發到的次數就越多。

可以看出,nginx具有相當豐富的配置能力。但要注意的是,這些個文件是需要自己手動配置的。對于服務器少,且不怎么變化的情況,這當然沒問題。

但現在已經是云原生時代了,很多公司內部都有自己的云產品,服務自然也會上云。一般來說每次更新服務,都可能會將服務部署到一臺新的機器上。而這個ip也會隨著改變,難道每發布一次服務,都需要手動去nginx上改配置嗎?這顯然不現實。

如果能在服務啟動時,讓服務主動將自己的ip告訴nginx,然后nginx自己生成這樣的一個配置并重新加載,那事情就簡單多了。

為了實現這樣一個服務注冊的功能,不少公司都會基于nginx進行二次開發。

但如果這個服務注冊功能有問題,比方說服務啟動后,新服務沒注冊上,但老服務已經被銷毀了。這時候nginx還將請求打到老服務的IP上,由于老服務所在的機器已經沒有這個服務了,所以服務器內核就會響應RST,nginx收到RST后回復502給客戶端。

圖片

實例已經銷毀但配置沒刪IP

要排查這種問題也不難。

這個時候,你可以看下nginx側是否有打印相關的日志,看下轉發的IP端口是否符合預期。

如果不符合預期,可以去找找做這個基礎組件的同事,進行一波友好的交流。

總結

HTTP狀態碼用來表示響應結果的狀態,其中200是正常響應,4xx是客戶端錯誤,5xx是服務端錯誤。

客戶端和服務端之間加入nginx,可以起到反向代理和負載均衡的作用,客戶端只管向nginx請求數據,并不關心這個請求具體由哪個服務器來處理。

后端服務端應用如果發生崩潰,nginx在訪問服務端時會收到服務端返回的RST報文,然后給客戶端返回502報錯。502并不是服務端應用發出的,而是nginx發出的。因此發生502時,后端服務端很可能沒有沒有相關的502日志,需要在nginx側才能看到這條502日志。

如果發現502,優先通過監控排查服務端應用是否發生過崩潰重啟,如果是的話,再看下是否留下過崩潰堆棧日志,如果沒有日志,看下是否可能是oom或者是其他原因導致進程主動退出。如果進程也沒崩潰過,去排查下nginx的日志,看下是否將請求打到了某個不知名IP端口上。?

責任編輯:武曉燕 來源: 小白debug
相關推薦

2024-09-30 09:05:46

Linux網絡延遲

2023-12-12 08:02:10

2022-07-26 08:03:27

Kubernetes節點磁盤

2023-01-02 08:20:14

MySQL數據庫

2024-10-29 08:08:44

2023-12-05 07:12:39

優化排查性能

2024-01-19 08:25:38

死鎖Java通信

2023-01-10 08:43:15

定義DDD架構

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2022-10-13 08:02:13

死鎖運算系統

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程

2023-06-27 07:21:51

前端開發坑點

2022-11-11 08:29:24

C語言中文字符代碼

2022-07-08 09:27:48

CSSIFC模型

2024-08-06 09:47:57

2023-10-10 11:04:11

Rust難點內存

2024-07-31 08:39:45

Git命令暫存區

2024-05-06 00:00:00

InnoDBView隔離
點贊
收藏

51CTO技術棧公眾號

欧美一区二区三区爽大粗免费 | eeuss鲁一区二区三区| 国产精品亚洲第一 | 国产精品高潮久久| 亚洲品质自拍视频网站| 国产乱码精品一区二区三区卡| 日韩 欧美 综合| 日韩一区二区在线| 精品福利av导航| 国产精品igao| 久久免费电影| 国产精品毛片大码女人| 国产精品久久一区二区三区| 中文人妻av久久人妻18| 先锋资源久久| 亚洲人av在线影院| 成人三级做爰av| 欧洲精品一区二区三区| 一区二区三区视频在线看| 欧美极品视频一区二区三区| 精品毛片一区二区三区| 日韩成人午夜电影| 97免费在线视频| 欧美大片xxxx| 欧美亚洲激情| 日韩精品一二三四区| 一级日本黄色片| 欧美黄页在线免费观看| 欧美性猛交xxxx偷拍洗澡| 亚洲av综合色区| 大乳在线免费观看| 91首页免费视频| 不卡的av一区| 99精品人妻无码专区在线视频区| 视频一区二区三区中文字幕| 性色av一区二区三区| 青娱乐免费在线视频| 久久亚洲影视| 亚洲一区二区黄| 欧美亚一区二区三区| h视频久久久| 91精品视频网| 亚洲第一色av| 日本亚洲欧洲无免费码在线| 欧美在线看片a免费观看| 777久久久精品一区二区三区| 色女人在线视频| 日韩美女视频一区二区| 欧美日韩在线免费观看视频| 草草影院在线观看| 国产亚洲污的网站| 日韩国产高清一区| 国产一级在线观看| 久久色在线观看| 欧美极品jizzhd欧美| 你懂的视频在线免费| 99精品久久免费看蜜臀剧情介绍 | 欧美日韩xxxx| 亚洲欧美日韩国产精品| 久久亚洲AV成人无码国产野外| 久久久久影视| 日韩精品黄色网| 黑人巨大精品欧美| 国产精品欧美三级在线观看| 亚洲欧美在线磁力| 国产一区二区三区四区在线| 欧美丝袜一区| 日韩在线视频播放| 精品人妻伦九区久久aaa片| 久久美女精品| 精品少妇v888av| 国产一卡二卡在线| 亚洲一区二区三区四区五区午夜| 日韩av大片免费看| 自拍偷拍色综合| 国产一区在线看| 国产精品v欧美精品v日韩| 内射无码专区久久亚洲| 久久亚洲综合色一区二区三区| 欧美日本亚洲| 日韩精品黄色| 亚洲国产美女搞黄色| 日本精品一区二区三区四区| 欧美暴力调教| 欧美第一区第二区| yy1111111| 精品视频免费在线观看| 久久五月情影视| 日本少妇毛茸茸高潮| 久久综合影视| 91香蕉嫩草影院入口| 人妻91麻豆一区二区三区| 久久综合九色欧美综合狠狠 | 欧美伊人影院| 97国产在线视频| 中文在线观看av| 国产激情精品久久久第一区二区 | aa级大片欧美三级| 国产日韩视频在线观看| 亚洲精品综合网| 国产日韩精品视频一区| 久久男人资源站| 亚洲精品粉嫩美女一区| 日韩午夜精品视频| 亚洲综合色一区| 午夜精品免费| 国产精品wwww| 色窝窝无码一区二区三区| 国产精品日韩精品欧美在线| 蜜桃传媒一区二区三区| 不卡的国产精品| 亚洲午夜色婷婷在线| 日本a在线观看| 久久99国产精品久久99| 女人一区二区三区| 国产丝袜在线观看视频| 欧美理论电影在线| 大黑人交xxx极品hd| 婷婷综合久久| 欧美在线一区二区三区四| 国产wwwxxx| 久久精品亚洲乱码伦伦中文| 国产成人生活片| 四虎影视4hu4虎成人| 精品精品欲导航| 欧美性xxxx图片| 亚洲一级二级| 国产精品一区二区三区毛片淫片 | 国产淫片在线观看| 色综合久久久久久久久久久| 野战少妇38p| 亚洲成人日韩| 国产精品美女午夜av| 黄色片一区二区三区| 国产精品萝li| 男人天堂网视频| 9l视频自拍九色9l视频成人| 日韩在线视频国产| 亚洲av无码精品一区二区| 成人午夜电影网站| 亚洲欧美一二三| 播放一区二区| 精品久久久久久久久久久院品网| 丰满少妇被猛烈进入一区二区| 欧美a一区二区| 免费国产一区二区| 多野结衣av一区| 日韩免费高清视频| 国产精品丝袜一区二区| 黄色小说综合网站| 五月天亚洲综合| 欧美性xxx| 亚洲精品国产精品自产a区红杏吧| 亚洲综合视频网站| 看电视剧不卡顿的网站| 一本一生久久a久久精品综合蜜| 中文字幕这里只有精品| 日韩不卡在线观看| 日韩欧美一区二区一幕| 成人动漫一区二区| 激情伊人五月天| 亚洲+变态+欧美+另类+精品| 国内精久久久久久久久久人| www.黄色av| 一二三区精品视频| 日本xxxx免费| 亚洲激情一区| 久久99九九| 亚洲精品成人图区| 精品视频久久久久久| 国产做受高潮漫动| 久久综合精品国产一区二区三区| 国产精品丝袜久久久久久消防器材| 精品在线91| 日本久久久久久久久久久| 日韩大胆视频| 在线免费观看日本一区| 正在播放国产对白害羞| 精品一区二区三区在线观看 | 国产三级精品在线观看| 亚洲男人的天堂在线观看| 91精品国产高清91久久久久久| 国产亚洲高清视频| 欧美日韩在线精品一区二区三区| 激情亚洲影院在线观看| 日韩中文字在线| www.污视频| 婷婷中文字幕综合| 中文字幕无码日韩专区免费 | 日本午夜一区| 91免费国产视频| 国产精品一二三产区| 亚洲欧美综合精品久久成人| 中文字幕av资源| 一区二区国产盗摄色噜噜| 给我免费观看片在线电影的| 日欧美一区二区| 国产高清www| 久久91麻豆精品一区| 国产欧美精品一区二区三区介绍| av网站在线免费| 亚洲精品电影网在线观看| 69av视频在线观看| 亚洲欧洲综合另类在线| 亚洲av无码一区二区三区网址| 日本视频中文字幕一区二区三区| 中文字幕欧美日韩一区二区| 加勒比视频一区| 国产伦精品一区二区三区精品视频| 欧美人与禽性xxxxx杂性| 亚洲精品一区久久久久久| 国产女人高潮的av毛片| 色噜噜狠狠一区二区三区果冻| 国产高潮国产高潮久久久91| 91女神在线视频| 下面一进一出好爽视频| 麻豆精品网站| 综合操久久久| 精品国内自产拍在线观看视频| 91在线|亚洲| 向日葵视频成人app网址| 久久成人综合视频| 国产三级电影在线观看| 国产视频欧美视频| 朝桐光av在线一区二区三区| 在线观看av一区| 日韩精品视频播放| 亚洲欧洲在线观看av| 国产sm调教视频| 成人国产精品免费观看动漫| 亚洲免费999| 久久影院亚洲| 缅甸午夜性猛交xxxx| 五月久久久综合一区二区小说| 欧美区高清在线| 精品五月天堂| 丁香婷婷久久久综合精品国产 | 色综合久久中文字幕| 正在播放国产对白害羞| 国产欧美一区二区精品秋霞影院 | 99久久免费精品高清特色大片| 午夜激情影院在线观看| 日本欧美韩国一区三区| 国产高清视频网站| 久久久久久自在自线| 青青青免费在线| 亚洲二区精品| 成年人网站国产| 亚洲麻豆视频| 日韩日韩日韩日韩日韩| 午夜激情一区| 日韩不卡视频一区二区| 99精品视频在线观看播放| 综合操久久久| 午夜影院欧美| 26uuu成人| 99久久亚洲精品| 在线成人av电影| 一个色综合网| 亚洲第一精品区| 天天做天天爱天天综合网| 亚洲高清视频一区二区| av中文一区| eeuss中文| 伊人情人综合网| 美女av免费观看| 亚洲区国产区| 成人av在线播放观看| 一区二区日本视频| 日本精品www| 日韩高清中文字幕一区| 亚洲天堂av线| 麻豆中文一区二区| 波多野结衣xxxx| 精东粉嫩av免费一区二区三区| 91免费视频污| 国产成人综合亚洲网站| 无套内谢大学处破女www小说| 久久夜色精品国产噜噜av| 自拍偷拍视频亚洲| 国产欧美日韩在线视频| 黄色国产在线播放| 亚洲一线二线三线久久久| 69精品久久久| 日韩欧美国产网站| 中国a一片一级一片| 678五月天丁香亚洲综合网| 欧美一级特黄aaaaaa大片在线观看| 亚洲高清一区二| 国产精品ⅴa有声小说| 中文字幕日韩av电影| 高h视频在线观看| 国产成人精品午夜| 亚洲欧美久久精品| 国产伦视频一区二区三区| 九九综合久久| 在线视频福利一区| 国产情侣一区| 91pony九色| 99精品热视频| 黄色香蕉视频在线观看| 一区二区激情视频| 精产国品一区二区| 91精品黄色片免费大全| 午夜影院免费体验区| 日韩亚洲国产中文字幕| 中文字幕乱码在线播放| 91精品久久久久久久久久久| 国产精品对白久久久久粗| 色综合久久久久久久久五月| 在线播放一区| 五月婷婷之婷婷| 91在线精品一区二区三区| 91香蕉一区二区三区在线观看| 一区二区三区中文在线观看| 在线观看xxxx| 亚洲激情在线观看视频免费| 黄色网在线播放| 日本国产一区二区三区| 国产精品极品| 亚洲第一精品区| 爽好久久久欧美精品| 中文字幕 欧美 日韩| 久久久久久9999| 精品在线播放视频| 欧美一区二区三区影视| 国产精品二线| 欧美在线观看日本一区| 卡通动漫精品一区二区三区| 综合一区中文字幕| 秋霞影院一区二区| 久久国产精品无码一级毛片| 亚洲成av人片一区二区三区| 99久久久久成人国产免费| 一本色道久久综合亚洲精品小说| 动漫一区二区| 国产激情美女久久久久久吹潮| 国产精品88久久久久久| 538在线视频观看| 久久久精品欧美丰满| 精品人妻一区二区三区免费看| 日韩精品一区二区三区老鸭窝| 黄av在线免费观看| 成人精品视频99在线观看免费 | 乱熟女高潮一区二区在线| 麻豆成人久久精品二区三区红| 欧美图片第一页| 色综合久久精品| 国产精品久久久久一区二区国产| 秋霞成人午夜鲁丝一区二区三区| 精品精品国产三级a∨在线| 欧美国产视频一区| 菠萝蜜视频在线观看一区| 欧美被狂躁喷白浆精品| 欧美一区二区三区在线看| 午夜视频成人| 亚洲qvod图片区电影| 一区二区电影| 在线观看视频在线观看| 亚洲欧美另类小说| 欧美视频在线观看一区二区三区| 欧美激情第6页| av不卡一区| 欧美精品久久久久久久久久久| 91影院在线观看| 中文字幕国产在线观看| 亚洲深夜福利在线| 精品网站在线| 日本黄网站色大片免费观看| 国产精品456| 不卡的免费av| 国产视频亚洲视频| 国产69精品久久久久9999人| 亚洲精品在线观看免费| 国内精品国产三级国产a久久| 精品无码免费视频| 亚洲精品久久久久久下一站| 超碰aⅴ人人做人人爽欧美| 欧美精品尤物在线| 久久97超碰色| 久久精品一级片| 亚洲国产中文字幕久久网| 中文在线中文资源| 国产欧美自拍视频| 波多野结衣91| 日本三级一区二区三区| 九色精品美女在线| 欧美久久精品| 中文字幕国产传媒| 一区二区三区高清在线| 五月婷婷在线观看视频| 国产成人精品视频| 一区二区三区午夜探花| 亚洲精品乱码久久久久久久| 在线精品视频一区二区三四| 亚洲成人影院麻豆| 国产一区免费在线观看| 亚洲在线播放| 欧美大片xxxx| 亚洲男人天堂2024|