国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

一文搞定快速使用 Docker Compose 玩轉(zhuǎn) Traefik v2

共 19320字,需瀏覽 39分鐘

 ·

2021-02-12 18:27

前提條件

  • VPS 環(huán)境:海外??

  • Docker

  • 有一個域名?example.com

  • 使用?cloudflare?管理域名的 DNS

  • 80/443?已打開

章節(jié)

  1. Traefik 路由到 Docker 容器

  2. Traefik 路由到本地 IP 地址

  3. Traefik 中間件

  4. Let's Encrypt 證書 HTTP challenge

  5. Let's Encrypt 證書 DNS challenge

  6. 轉(zhuǎn)發(fā) HTTP 流量到 HTTPS

Traefik 路由到 Docker 容器

創(chuàng)建一個新的 docker 網(wǎng)絡(luò)

docker network create traefik_net

Traefik 和 containers(容器)需要在同一網(wǎng)絡(luò)上。Compose 會自動創(chuàng)建一個,但事實是隱藏的,以后可能會發(fā)生混亂。最好僅創(chuàng)建自己的網(wǎng)絡(luò)并將其設(shè)置為每個 compose 文件中的默認(rèn)網(wǎng)絡(luò)。

使用?docker network inspect traefik_net?查看連接到該網(wǎng)絡(luò)的容器

創(chuàng)建 traefik.yml

該文件包含所謂的靜態(tài) traefik 配置。

在此基本示例中,只有很少的關(guān)于 settings(設(shè)置)的解釋。

因為 exposedbydefault 被設(shè)置為 false,標(biāo)簽?"traefik.enable=true"?將需要用于應(yīng)該由 traefik 路由的容器。

這個文件將通過 bind mount 傳遞給 docker 容器,這將在我們?yōu)?traefik 使用 docker-compose.yml 時完成。

traefik.yml

## STATIC CONFIGURATION
log:
level: INFO

api:
insecure: true
dashboard: true

entryPoints:
web:
address: ":80"

providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false

稍后,當(dāng) traefik 容器運行時,使用命令?docker logs traefik, 檢查是否有提示:"Configuration loaded from file: /traefik.yml"。您不想成為對 traefik.yml 進(jìn)行更改的?moron,并且它什么也不做,因為實際上并未使用該文件。

創(chuàng)建?.env

它包含一些環(huán)境變量。

域名,API密鑰,IP地址,密碼…… 無論是針對一種情況的特定情況,還是針對另一種情況的不同情況,所有這些都理想地放在了這里。運行?docker-compose up?命令時,這些變量可用于 docker-compose。

這使得編寫文件可以更自由地從一個系統(tǒng)移動到另一個系統(tǒng),并且可以對?.env?文件進(jìn)行更改, 因此,在大型編寫文件或類似文件中忘記更改某些主機規(guī)則中的域名的錯誤可能性更小。

.env

MY_DOMAIN=example.com
DEFAULT_NETWORK=traefik_net

命令?docker-compose config?顯示了填充變量后的 compose 狀態(tài)。

這些變量僅在容器的初始構(gòu)建期間填寫。如果一個 env 變量也應(yīng)該在運行的容器中可用,則需要在 compose 文件的?environment?部分聲明它。

創(chuàng)建 traefik-docker-compose.yml

這是一個簡單的典型 compose 文件。

端口 80 已映射,因為我們希望 traefik 負(fù)責(zé)端口上的內(nèi)容-將其用作 entrypoint(入口點)。端口 8080 用于 traefik 顯示信息的儀表板。需要掛載 docker.sock,因此它實際上可以完成與 docker 交互的工作。?traefik.yml?的掛載是給出靜態(tài) traefik 配置的原因。默認(rèn)網(wǎng)絡(luò)被設(shè)置為第一步中創(chuàng)建的網(wǎng)絡(luò),因為它將在所有其他 compose 文件中設(shè)置。

traefik-docker-compose.yml

version: "3.7"

services:
traefik:
image: "traefik:v2.1"
container_name: "traefik"
hostname: "traefik"
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik.yml:/traefik.yml:ro"

networks:
default:
external:
name: $DEFAULT_NETWORK

運行 traefik-docker-compose.yml

docker-compose -f traefik-docker-compose.yml up -d?將會啟動 traefik 容器。

traefik 正在運行,您可以在 ip:8080 上檢查它,在那里您可以得到儀表板。

也可以用?docker logs traefik?檢查日志。


通常你會看到指南只有一個名為?docker-compose.yml?文件。其中包含多個服務(wù)/容器。然后只需?docker-compose up -d?就可以開始了。當(dāng)所有都是一個 compose 時,你甚至不需要費心去定義網(wǎng)絡(luò)。但這一次,我更喜歡在學(xué)習(xí)新東西時采取小而獨立的步驟。這就是為什么使用自定義命名的 docker-compose 文件,因為它允許更容易的分離。

您在教程中還可以看到?jīng)]有提及 traefik.yml,而東西只是使用 traefik 的命令或標(biāo)簽從 docker-compose 傳遞的。

如:?command: --api.insecure=true --providers.docker

但是這樣一來,組合文件看起來會更加混亂,您仍然無法從那里進(jìn)行任何操作,有時您仍然需要?traefik.yml。

所以...現(xiàn)在,使用結(jié)構(gòu)良好的可讀 traefik.yml

在 traefik 應(yīng)該路由的容器上添加標(biāo)簽

以下是 whoami,nginx,apache,portainer 的示例。

- "traefik.enable=true"

啟用 traefik

- "traefik.http.routers.whoami.entrypoints=web"

定義名為?whoami?的路由,該路由在入口點 Web(端口80)上偵聽

- "traefik.http.routers.whoami.rule=Host(whoami.$MY_DOMAIN)"

定義此?whoami?路由規(guī)則,特別是當(dāng) url 等于?whoami.example.com(域名來自?.env?文件)時, 這意味著路由可以完成其工作并將其路由到服務(wù)。

不需要其他任何東西,traefik 可以從這些標(biāo)簽來自 docker 容器的上下文中了解其余信息。

whoami-docker-compose.yml

version: "3.7"

services:
whoami:
image: "containous/whoami"
container_name: "whoami"
hostname: "whoami"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.routers.whoami.rule=Host(`whoami.$MY_DOMAIN`)"

networks:
default:
external:
name: $DEFAULT_NETWORK

nginx-docker-compose.yml

version: "3.7"

services:
nginx:
image: nginx:latest
container_name: nginx
hostname: nginx
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx.entrypoints=web"
- "traefik.http.routers.nginx.rule=Host(`nginx.$MY_DOMAIN`)"

networks:
default:
external:
name: $DEFAULT_NETWORK

apache-docker-compose.yml

version: "3.7"

services:
apache:
image: httpd:latest
container_name: apache
hostname: apache
labels:
- "traefik.enable=true"
- "traefik.http.routers.apache.entrypoints=web"
- "traefik.http.routers.apache.rule=Host(`apache.$MY_DOMAIN`)"

networks:
default:
external:
name: $DEFAULT_NETWORK

portainer-docker-compose.yml

version: "3.7"

services:
portainer:
image: portainer/portainer
container_name: portainer
hostname: portainer
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- portainer_data:/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.portainer.entrypoints=web"
- "traefik.http.routers.portainer.rule=Host(`portainer.$MY_DOMAIN`)"

networks:
default:
external:
name: $DEFAULT_NETWORK

volumes:
portainer_data:

運行容器

docker-compose -f whoami-docker-compose.yml up -d
docker-compose -f nginx-docker-compose.yml up -d
docker-compose -f apache-docker-compose.yml up -d
docker-compose -f portainer-docker-compose.yml up -d

停止所有容器運行:docker stop $(docker ps -q)

Traefik 路由到本地 IP 地址

當(dāng) url 應(yīng)該瞄準(zhǔn)其他東西而不是 docker 容器。

定義 file provider,添加所需的路由和服務(wù)

所需要的是一個能夠捕獲某些 url 并將其路由到某些 IP 的 router。前面的示例顯示了如何在端口 80 上捕獲任何 url,但是沒有人告訴它在符合規(guī)則的情況下該怎么做。Traefik 只是知道,因為它是在容器的上下文中使用標(biāo)簽完成的, 而且由于 docker 在?traefik.yml?中被設(shè)置為提供程序。

對于這種 “在某些 IP 上發(fā)送流量”,需要 traefik 服務(wù), 并且要定義 traefik 服務(wù),需要一個新的提供程序, 即 file provider - 只是一個(fucking stupid)文件,告訴 traefik 該怎么做。

某種常見的做法是將?traefik.yml?本身設(shè)置為 file provider,以便進(jìn)行處理。

在提供者下有一個新的?file?部分,并設(shè)置了?traefik.yml?本身。

然后添加動態(tài)配置的東西。

一個名為?route-to-local-ip?的 router,有一個簡單的子域主機名規(guī)則。符合該規(guī)則(在本例中為確切的網(wǎng)址?test.example.com)的內(nèi)容將發(fā)送到 loadbalancer 服務(wù), 該服務(wù)會將其路由到特定的 IP 和特定的端口。

traefik.yml

## STATIC CONFIGURATION
log:
level: INFO

api:
insecure: true
dashboard: true

entryPoints:
web:
address: ":80"

providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
file:
filename: "traefik.yml"

## DYNAMIC CONFIGURATION
http:
routers:
route-to-local-ip:
rule: "Host(`test.example.com`)"
service: route-to-local-ip-service
priority: 1000
entryPoints:
- web

services:
route-to-local-ip-service:
loadBalancer:
servers:
- url: "http://10.0.19.5:80"

路由的優(yōu)先級設(shè)置為 1000,這是一個非常高的值,超過了任何其他可能的路由。

不幸的是?.env?變量在這里不起作用,否則主機規(guī)則中的域名和 IP 將來自變量。因此,抬起頭來,您肯定會忘記更改這些。

運行 traefik-docker-compose

測試是否有效

docker-compose -f traefik-docker-compose.yml up -d

Traefik 中間件

任何容器的身份驗證中間件的示例。

創(chuàng)建一個新文件 users_credentials

包含 username:passwords 對,htpasswd?格式

在下面的示例中,密碼?krakatoa?設(shè)置為下面所有3個帳戶

users_credentials

me:$apr1$L0RIz/oA$Fr7c.2.6R1JXIhCiUI1JF0
admin:$apr1$ELgBQZx3$BFx7a9RIxh1Z0kiJG0juE/
bastard:$apr1$gvhkVK.x$5rxoW.wkw1inm9ZIfB0zs1

掛載 users_credentials

traefik-docker-compose.yml

version: "3.7"

services:
traefik:
image: "traefik:v2.1"
container_name: "traefik"
hostname: "traefik"
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik.yml:/traefik.yml:ro"
- "./users_credentials:/users_credentials:ro"

networks:
default:
external:
name: $DEFAULT_NETWORK

在應(yīng)該進(jìn)行身份驗證的任何容器中添加兩個標(biāo)簽

  • 第一個標(biāo)簽將名為?auth-middleware?的新中間件附加到已存在的?whoami?路由器上。

  • 第二個標(biāo)簽為該中間件提供了 basicauth 類型,并告訴它用于認(rèn)證用戶的文件在哪里。

無需在此處安裝?users_credentials,它是 traefik 所需的文件, 這些標(biāo)簽是一種將信息傳遞給 traefik 的方式,它應(yīng)該在容器的上下文中進(jìn)行操作。

whoami-docker-compose.yml

version: "3.7"

services:
whoami:
image: "containous/whoami"
container_name: "whoami"
hostname: "whoami"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.routers.whoami.rule=Host(`whoami.$MY_DOMAIN`)"
- "traefik.http.routers.whoami.middlewares=auth-middleware"
- "traefik.http.middlewares.auth-middleware.basicauth.usersfile=/users_credentials"

networks:
default:
external:
name: $DEFAULT_NETWORK

nginx-docker-compose.yml

version: "3.7"

services:
nginx:
image: nginx:latest
container_name: nginx
hostname: nginx
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx.entrypoints=web"
- "traefik.http.routers.nginx.rule=Host(`nginx.$MY_DOMAIN`)"
- "traefik.http.routers.nginx.middlewares=auth-middleware"
- "traefik.http.middlewares.auth-middleware.basicauth.usersfile=/users_credentials"

networks:
default:
external:
name: $DEFAULT_NETWORK

運行容器,現(xiàn)在需要登錄名和密碼

docker-compose -f traefik-docker-compose.yml up -d
docker-compose -f whoami-docker-compose.yml up -d
docker-compose -f nginx-docker-compose.yml up -d

Let's Encrypt 證書,HTTP challenge

  • LE?- Let's Encrypt. 提供免費證書的服務(wù)

  • Certificate?- 存儲在服務(wù)器文件中的加密密鑰,允許進(jìn)行加密通信并確認(rèn)身份

  • ACME?- 一種協(xié)議(精確商定的通信方式),以協(xié)商來自 LE 的證書。它是 traefik 的一部分。

  • DNS?- 互聯(lián)網(wǎng)上的服務(wù)器,將域名轉(zhuǎn)換為 IP 地址

Traefik 使用 ACME 向 LE 請求特定域的證書,如?example.com。LE 用一些隨機生成的文本來回答,然后 traefik 把這些文本放在服務(wù)器的特定位置。然后,LE 向 DNS 互聯(lián)網(wǎng)服務(wù)器詢問?example.com,結(jié)果指向了某個 IP 地址。LE 通過端口 80/443 查找該 IP 地址,查找包含該隨機文本的文件。

如果存在,那么這證明了要求證書的人都控制了服務(wù)器和域,因為它顯示了對 DNS 記錄的控制權(quán)。證書已頒發(fā),有效期為 3 個月,traefik 將在少于 30 天的時間內(nèi)自動嘗試?yán)m(xù)訂。

現(xiàn)在我們來看看該怎么做。

創(chuàng)建一個具有 600 權(quán)限的空 acme.json 文件

該文件將存儲證書以及有關(guān)證書的所有信息。

touch acme.json && chmod 600 acme.json

在 traefik.yml 中添加 443 入口點和證書解析器

在 entrypoint 部分中,新的 entrypoint 被添加為 websecure,端口 443

certificatesResolvers 是一個配置部分,它告訴 traefik 如何使用 acme resolver 獲取證書。

certificatesResolvers:
lets-encr:
acme:
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
storage: acme.json
email: [email protected]
httpChallenge:
entryPoint: web
  • 解析器的名稱為?lets-encr,并使用 acme

  • 注釋掉了 staging caServer 使 LE 頒發(fā)了一個 staging 證書,這是一個無效的證書,不會給綠鎖,但沒有限制,所以很適合測試。如果它在工作,它會說,我們加密。

  • Storage 告訴在哪里存儲給定的證書 -?acme.json

  • 郵件是 LE 發(fā)送證書過期通知的地方

  • httpChallenge 有一個入口點,因此 acme 在端口 80 上執(zhí)行 http challenge

這就是 acme 所需要的一切

traefik.yml

## STATIC CONFIGURATION
log:
level: INFO

api:
insecure: true
dashboard: true

entryPoints:
web:
address: ":80"
websecure:
address: ":443"

providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false

certificatesResolvers:
lets-encr:
acme:
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
storage: acme.json
email: [email protected]
httpChallenge:
entryPoint: web

暴露/映射端口 443 并將 acme.json 掛載在 traefik-docker-compose.yml 中

注意:acme.json 不是?:ro?- 只讀

traefik-docker-compose.yml

version: "3.7"

services:
traefik:
image: "traefik:v2.1"
container_name: "traefik"
hostname: "traefik"
env_file:
- .env
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik.yml:/traefik.yml:ro"
- "./acme.json:/acme.json"

networks:
default:
external:
name: $DEFAULT_NETWORK

向容器添加所需的標(biāo)簽

與第一章中的純 HTTP 相比,它只是將路由器的入口點從?web?更改為?websecure, 并將名為?lets-encr?的證書解析器分配給現(xiàn)有路由器

whoami-docker-compose.yml

version: "3.7"

services:
whoami:
image: "containous/whoami"
container_name: "whoami"
hostname: "whoami"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.rule=Host(`whoami.$MY_DOMAIN`)"
- "traefik.http.routers.whoami.tls.certresolver=lets-encr"

networks:
default:
external:
name: $DEFAULT_NETWORK

nginx-docker-compose.yml

version: "3.7"

services:
nginx:
image: nginx:latest
container_name: nginx
hostname: nginx
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx.entrypoints=websecure"
- "traefik.http.routers.nginx.rule=Host(`nginx.$MY_DOMAIN`)"
- "traefik.http.routers.nginx.tls.certresolver=lets-encr"

networks:
default:
external:
name: $DEFAULT_NETWORK

運行容器

稍等一分鐘

容器現(xiàn)在只能在 https 上工作并且具有 greenlock

檢查 acme.json 的內(nèi)容

如果要重新開始,請刪除acme.json

Let's Encrypt 證書在 cloudflare 上 DNS challenge

  • LE?- Let's Encrypt. 提供免費證書的服務(wù)

  • Certificate?- 存儲在服務(wù)器文件中的加密密鑰,允許進(jìn)行加密通信并確認(rèn)身份

  • ACME?- 一種協(xié)議(精確商定的通信方式),以協(xié)商來自 LE 的證書。它是 traefik 的一部分。

  • DNS?- 互聯(lián)網(wǎng)上的服務(wù)器,將域名轉(zhuǎn)換為 IP 地址

Traefik 使用 ACME 向 LE 請求特定域的證書,如?example.com。LE 用一些隨機生成的文本來回答,然后 traefik 把這些文本放在服務(wù)器的特定位置。然后,LE 向 DNS 互聯(lián)網(wǎng)服務(wù)器詢問?example.com,結(jié)果指向了某個 IP 地址。LE 通過端口 80/443 查找該 IP 地址,查找包含該隨機文本的文件。

如果存在,那么這證明了要求證書的人都控制了服務(wù)器和域,因為它顯示了對 DNS 記錄的控制權(quán)。證書已頒發(fā),有效期為 3 個月,traefik 將在少于 30 天的時間內(nèi)自動嘗試?yán)m(xù)訂。

與 httpChallenge 相比的好處是能夠使用通配符證書。這些是驗證所有子域?*.example.com?的證書 另外,無需打開任何端口。

但 traefik 需要能夠?qū)?DNS 記錄進(jìn)行自動更改,因此需要管理網(wǎng)站 DNS 的人對此提供支持。這就是為什么選擇 cloudflare。

現(xiàn)在我們來看看該怎么做。為所有規(guī)劃的子域添加類型?A DNS 記錄

[whoami, nginx, *] 是示例子域,每個子域都應(yīng)有一個指向 traefik IP 的 A 記錄。

創(chuàng)建一個具有 600 權(quán)限的空 acme.json 文件

touch acme.json && chmod 600 acme.json

將 443 入口點和證書解析器添加到 traefik.yml

在 entrypoint 部分中,新的 entrypoint 被添加為 websecure,端口 443

certificatesResolvers 是一個配置部分,它告訴 traefik 如何使用 acme resolver 獲取證書。

certificatesResolvers:
lets-encr:
acme:
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
email: [email protected]
storage: acme.json
dnsChallenge:
provider: cloudflare
resolvers:
- "1.1.1.1:53"
- "8.8.8.8:53"
  • 解析器的名稱為?lets-encr,并使用 acme

  • 注釋掉了 staging caServer 使 LE 頒發(fā)了一個 staging 證書,這是一個無效的證書,不會給綠鎖,但沒有限制,所以很適合測試。如果它在工作,它會說,我們加密。

  • Storage 告訴在哪里存儲給定的證書 -?acme.json

  • 郵件是 LE 發(fā)送證書過期通知的地方

  • dnsChallenge 是由一個?provider?指定的,

在這個例子中是 cloudflare。每個提供程序在 .env 文件中需要不同名稱的環(huán)境變量, 但這是稍后的內(nèi)容,這里只需要提供程序的名稱

  • 解析器是在挑戰(zhàn)期間使用的知名 DNS 服務(wù)器的 IP

traefik.yml

## STATIC CONFIGURATION
log:
level: INFO

api:
insecure: true
dashboard: true

entryPoints:
web:
address: ":80"
websecure:
address: ":443"

providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false

certificatesResolvers:
lets-encr:
acme:
#caServer: https://acme-staging-v02.api.letsencrypt.org/directory
email: [email protected]
storage: acme.json
dnsChallenge:
provider: cloudflare
resolvers:
- "1.1.1.1:53"
- "8.8.8.8:53"

在?.env?文件中添加所需的變量

我們知道根據(jù)支持的提供商列表添加哪些變量

對于 cloudflare 變量是

  • CF_API_EMAIL?- cloudflare login

  • CF_API_KEY?- global api key

.env

MY_DOMAIN=example.com
DEFAULT_NETWORK=traefik_net
[email protected]
CF_API_KEY=8d08c87dadb0f8f0e63efe84fb115b62e1abc

暴露/映射端口 443 并將 acme.json 掛載在 traefik-docker-compose.yml 中

注意:acme.json 不是?:ro?- 只讀

traefik-docker-compose.yml

version: "3.7"

services:
traefik:
image: "traefik:v2.1"
container_name: "traefik"
hostname: "traefik"
env_file:
- .env
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik.yml:/traefik.yml:ro"
- "./acme.json:/acme.json"

networks:
default:
external:
name: $DEFAULT_NETWORK

在容器上添加所需的標(biāo)簽

與第一章中簡單的 http 相比

  • 路由器的入口點從?web?切換到?websecure

  • 分配給路由器的名為?lets-encr?的證書解析器

  • 定義將要獲得證書的主域的標(biāo)簽,在這里是 whoami.example.com,域名是從?.env?文件中提取的

whoami-docker-compose.yml

version: "3.7"

services:
whoami:
image: "containous/whoami"
container_name: "whoami"
hostname: "whoami"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.rule=Host(`whoami.$MY_DOMAIN`)"
- "traefik.http.routers.whoami.tls.certresolver=lets-encr"
- "traefik.http.routers.whoami.tls.domains[0].main=whoami.$MY_DOMAIN"


networks:
default:
external:
name: $DEFAULT_NETWORK

nginx-docker-compose.yml

version: "3.7"

services:
nginx:
image: nginx:latest
container_name: nginx
hostname: nginx
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx.entrypoints=websecure"
- "traefik.http.routers.nginx.rule=Host(`nginx.$MY_DOMAIN`)"
- "traefik.http.routers.nginx.tls.certresolver=lets-encr"
- "traefik.http.routers.nginx.tls.domains[0].main=nginx.$MY_DOMAIN"

networks:
default:
external:
name: $DEFAULT_NETWORK

運行容器

docker-compose -f traefik-docker-compose.yml up -d
docker-compose -f whoami-docker-compose.yml up -d
docker-compose -f nginx-docker-compose.yml up -d

DNS 挑戰(zhàn)的全部重點就是獲取通配符!

很公平

因此,對于通配符,這些標(biāo)簽將加入 traefik compose。

  • 與以前一樣使用相同的?lets-encr?證書解析器,它在 traefik.yml 中定義

  • 子域(*.example.com)的通配符被設(shè)置為要獲取證書的主域

  • 裸域(只是簡單的example.com)設(shè)置為sans(主題備用名稱)

同樣,您確實需要?* .example.com?和?example.com

在 DNS 控制面板中設(shè)置為 A 記錄,指向 traefik 的 IP

traefik-docker-compose.yml

version: "3.7"

services:
traefik:
image: "traefik:v2.1"
container_name: "traefik"
hostname: "traefik"
env_file:
- .env
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik.yml:/traefik.yml:ro"
- "./acme.json:/acme.json"
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.tls.certresolver=lets-encr"
- "traefik.http.routers.traefik.tls.domains[0].main=*.$MY_DOMAIN"
- "traefik.http.routers.traefik.tls.domains[0].sans=$MY_DOMAIN"

networks:
default:
external:
name: $DEFAULT_NETWORK

現(xiàn)在,如果容器想作為子域進(jìn)行訪問,則只需要一個具有 url 規(guī)則的常規(guī)路由器,位于 443 端口入口點,并使用相同的?lets-encr?證書解析器

whoami-docker-compose.yml

version: "3.7"

services:
whoami:
image: "containous/whoami"
container_name: "whoami"
hostname: "whoami"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.rule=Host(`whoami.$MY_DOMAIN`)"
- "traefik.http.routers.whoami.tls.certresolver=lets-encr"

networks:
default:
external:
name: $DEFAULT_NETWORK

nginx-docker-compose.yml

version: "3.7"

services:
nginx:
image: nginx:latest
container_name: nginx
hostname: nginx
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx.entrypoints=websecure"
- "traefik.http.routers.nginx.rule=Host(`nginx.$MY_DOMAIN`)"
- "traefik.http.routers.nginx.tls.certresolver=lets-encr"

networks:
default:
external:
name: $DEFAULT_NETWORK

這是apache,但這次運行在裸域?example.com?上

apache-docker-compose.yml

version: "3.7"

services:
apache:
image: httpd:latest
container_name: apache
hostname: apache
labels:
- "traefik.enable=true"
- "traefik.http.routers.apache.entrypoints=websecure"
- "traefik.http.routers.apache.rule=Host(`$MY_DOMAIN`)"
- "traefik.http.routers.apache.tls.certresolver=lets-encr"

networks:
default:
external:
name: $DEFAULT_NETWORK

轉(zhuǎn)發(fā) HTTP 流量到 HTTPS

http 停止使用 https 設(shè)置,最好將 http(80) 重定向到 https(443)。

Traefik 有專門的中間件 — redirectscheme。

當(dāng)?traefik.yml?本身設(shè)置為文件提供程序時,可以在動態(tài)部分的?traefik.yml?中的多個位置聲明此重定向。

或在任何正在運行的容器中使用標(biāo)簽,此示例在 traefik compose 中進(jìn)行操作。

使用 traefik 中的標(biāo)簽添加新路由和重定向方案

- "traefik.enable=true"

在這個 traefik 容器上啟用 traefik,不是說這里需要到服務(wù)的典型路由,而是說沒有它其他標(biāo)簽就不能工作

- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"

創(chuàng)建一個名為?redirect-to-https?的新中間件,輸入 “redirectscheme” 并為其分配方案?https。

- "traefik.http.routers.redirect-https.rule=hostregexp(`{host:.+}`)"

創(chuàng)建一個名為?redirect-https?的新路由,并使用一個正則表達(dá)式規(guī)則來捕獲所有傳入請求

- "traefik.http.routers.redirect-https.entrypoints=web"

聲明此路由器在哪個入口點上偵聽 - Web(端口80)

- "traefik.http.routers.redirect-https.middlewares=redirect-to-https"

將新創(chuàng)建的 redirectscheme 中間件分配給此新創(chuàng)建的路由。

traefik-docker-compose.yml

version: "3.7"

services:
traefik:
image: "traefik:v2.1"
container_name: "traefik"
hostname: "traefik"
env_file:
- .env
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./traefik.yml:/traefik.yml:ro"
- "./acme.json:/acme.json"
labels:
- "traefik.enable=true"
## DNS CHALLENGE
- "traefik.http.routers.traefik.tls.certresolver=lets-encr"
- "traefik.http.routers.traefik.tls.domains[0].main=*.$MY_DOMAIN"
- "traefik.http.routers.traefik.tls.domains[0].sans=$MY_DOMAIN"
## HTTP REDIRECT
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
- "traefik.http.routers.redirect-https.rule=hostregexp(`{host:.+}`)"
- "traefik.http.routers.redirect-https.entrypoints=web"
- "traefik.http.routers.redirect-https.middlewares=redirect-to-https"

networks:
default:
external:
name: $DEFAULT_NETWORK


優(yōu)點知識春節(jié)課程特惠活動?


?點擊屏末?|??|?即刻學(xué)習(xí)

瀏覽 80
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 黄色一级大片在线免费看产| 这里只有精品视频在线| 免费a片观看| 17.3c一起起草| 国产视频一区二区三区四区五区 | 免费欧美A片| 激情无码在线观看| 五月丁香婷婷成人| 2025av中文字幕| 免费无码进口视频| 日本精品黄色| 无码熟妇人妻无码AV在线天堂| 激情无码五月天| 成人在线视频免费观看| 91探花在线观看| 影音先锋av资源在线| 黄色在线不卡| 国产—级a毛—a毛免费视频| 国产熟女一区二区久久| 欧美不卡视频| 伊人亚洲综合| 操日本美女| 囯产精品久久久久久久久免费无码 | 自拍乱伦| 成人无码日韩精品| 欧美视频h| 91插插网| 婷婷五月在线播放| 久久性爱视频| 538在线视频| 亚洲精品视频在线播放| 午夜天堂网| 日韩爆乳一区二区三区| 91在线成人电影| 伦理无码| 熟女少妇网站| AV在线观看黄| 大香蕉福利导航| 久久亚洲国产| 精品1区| 免费在线观看无码视频| 日韩色情网| 少妇搡BBBB搡BBB搡18禁| 伊人色色综合| 国产精品果冻传媒| 久草中文在线| 一级片在线观看视频| 五月丁香婷中文| 美女黄色网| 玖玖激情| 九九色热| 久久久久久久久黄色| 热久久在线| 国产一区二区三区成人| 欧美日韩性爰视频| ⅴA日本成人| 天天爱天天射| 中文字幕欧美在线| 久久青青视频| 超碰在线69| 欧美成人性爱图片| 日韩无码中文字幕视频| 精品码A片18| 亚洲成人精品AV| 亚洲欧美日韩在线| 日韩最新高清无码| 黄网91| 婷婷国产成人精品| 色色加勒比综合| 日本a在线| 欧美日韩一二三区| www.久久久久| 亚洲视频a| 亚洲v区| 中文无码在线观看中文字幕av中文| 一级黄色电影免费在线观看| 夜夜嗨av一区二区三区| 成人久久大香蕉| 五月天丁香成人| 伊人大香蕉视频| 亚洲国产91| 7799精品视频| 特级av| 东京热黄色| 国产一区二区在线视频| 波多野结衣在线网站| 99九九精品| 天天爽天天爽成人A片影院 | 最近2019中文字幕mv第三季歌词| 18禁黄色免费网站| 国产精品粉嫩福利在线| 成人精品一区二区三区中文字幕| 精品孕妇一区二区三区| 丁香五月婷婷啪啪| 日产电影一区二区三区| 无码免费毛片一区二区三区古代| 精品人妻一区二区三区阅读全文| 国产在线一| 欧美mv日韩mv国产| 性生活无码视频| 亚洲AV成人电影| 自拍三区| 91热爆TS人妖系列| 啊啊啊啊啊在线观看| 内射网站在线看| 免费涩涩无遮挡18国产| 国产成人精品无码片子的价格| 91在线观看网站| 久久毛片基地| 一级黄色电影免费在线观看| 操小嫩逼视频| 国产夫妻AV| 99久久国产热无码精品免费| 1插菊花网| 狠狠成人| 久久探花| 国产农村妇女精品一二区| 国产熟女一区| 99热国产在线观看| 亚洲中文久久| 91福利在线视频| 国产亚洲精品码| 午夜激情四射| 日韩精品一区在线观看| 日韩精品一二三区| 性无码一区二区三区| 熟妇人妻中文字幕无码老熟妇| 特级西西人体WWWww| 无码三级在线观看| 97精品国产| 国产精品9999| 超碰天天干天天摸| 99久久精品一区二区成人| 成人午夜视频精品一区| 婷婷视频导航| 国产91在线拍揄自揄拍无码九色| 欧美深夜福利视频| 黄色亚洲网站| 亚洲国产欧美日韩在线| 国产操逼的视频| 亚洲精品无码a片| 91久久久久国产一区二区| 男人天堂视频网| 五月婷在线| 少妇熟女网| 成人免费无遮挡无码黄漫视频| 免费黄色成人网站| 日本特级黄色毛片| 久久九九免费视频| 欧美三级性爱视频| 成人免费啪啪视频| www.日韩av| 日韩天堂在线观看| 国产精品自拍偷拍| 成人精品无码免费视频| 人人爱人人射| 欧美黄片在线| 骚白虎一区| 免费AV网站观看| 少妇三级| 久草视频在线免费看| 日本一级黄色A片| 簧片在线免费观看| 亚洲精品国产精品国自产曰本| 欧美黑吊大战白妞| 天天爱天天射| 亚洲s在线| 操www| 内射视频网| 无码9999| 黄色免费在线观看| 黄色小视频免费观看| 日本黄色免费| 91探花秘在线播放| 日韩在线视频网| 688AV秘无码一区二区| 色五月婷婷婷| 午夜福利视频网站| 美女乱伦| 精品香蕉视频| 一级片在线播放| 久久a久久| 2024无码| 中文字幕AV第一页| 99毛片| 亲子乱一区二区三区视频| 亚洲日韩视频在线观看| 2026无码视频| 热热热热色| 97成人在线视频| 成人欧美在线观看| 免费操逼网| 日韩欧美三级| 三级片韩国AV| 嫩草视频在线播放| 东北操逼视频| 风流少妇一区二区三区91| 久久黄片| 国产色婷婷| 无码日韩成人| 日韩超清无码| 粉嫩av懂色av蜜臀av熟妇| 69式荫蒂被添全过程频| 91蜜臀| 香蕉av在线播放| 最近中文字幕中文翻译歌词| 四虎麻豆| 操少妇视频| 久久av电影| 欧美一区二区三区激情| 中文字幕无码免费| 人人摸人人操人人干| 欧美性爱网址| 91国产福利| 精品九九九九九| 国产一级麻豆| sesese999| 五月婷婷六月丁香| 毛片9| 亚洲欧美国产高清vA在线播放| 可以在线观看的av| 国产高清视频在线观看| 久久丁香五月天| 中文一区在线观看| 密臀久久| 成人av无码| 人人色人人操| 一级片国产| 2019国产精品| 一级理论片| 蜜桔视频嫩草蜜桃| 亚欧黄色| 日韩中文字幕无码中字字幕| 操逼网站大全| 人人妻人人澡人人爽久久con | 日韩一级一级一级| 97视频网站| 日本国产在线| 日日夜夜精品视频| 日P免费视频| 欧美麻豆| A片视频免费| 中文字幕三区| 俺也来俺也去WWW色| 国产剧情一区二区三区| 无码在线免费视频| 欧美AⅤ| 七区九区一区在线| 国产精品久久久久久久久久久久久久久 | 网站av| 久久精品在线播放| 亚洲av在线免费观看| 日本一级按摩片免费观看| 日韩视频在线观看一区| 日本久久视频| 亚洲无码AV电影| www.日韩系列| 国产精品永久久久久久久久久| 日本性爱无码| 91久久| 91在线视频免费播放| 中文成人无字幕乱码精品区| 久久免费观看视频| 欧美色图网址| 爱逼综合网| 亚洲视频播放| 亚洲福利天堂| 免费内射网站| 久久久久久亚洲AV无码专区| 一级国产黄色视频| 日本A片在线免费观看| 精品国产一区二区三区久久久蜜月 | 久久er99| 色色视频网站| 中国女人如毛片| va婷婷在线免费观看| 国产草逼视频| 亚洲香蕉av| 亚洲精品操逼| 啊啊啊网站| 搞搞网日本9| 亚洲有码中文字幕| 日韩中文字幕一区| 国产免费操逼| 人人看人人摸人人草| 第一福利视频| 精品无码二区| 久久久久久久久久成人永久免费视频 | 99视频精品在线| 久久久国产精品人人片| 91麻豆精品国产91久久久久久 | 欧美成人图片视频在线| 成人A片网| 一级日逼| 熟妇私拍| 北条麻妃波多波多野结衣| 伊人成人电影| 超碰v| 青青激情视频| 自拍偷拍AV| 欧美精产国品一二三产品动漫| 骚逼中文字幕| 国产成人免费看| 亚洲综合电影| 精品国产AV色一区二区深夜久久| 69国产精品成人无码视频色| 91白浆| 亚洲无码在线观看网站| a视频免费在线观看| 国产又大又粗又爽| 天天射天天操天天干| 国产激情小视频| 97爱视频| 亚洲中文字幕观看| Al激情欧美| 欧美一级特黄真人做受| 爱搞视频在线播放| 影音先锋av色| 国产亚洲天堂| 久久毛片| 日逼视| 东京热视频网| 色五月婷婷小说| 日韩一区在线视频| 欧美午夜片| 黄色a级片| 91豆花视频18| 亚洲婷婷综合网| 亚洲性爱中文字幕| 欧美日韩国产在线| 人妻成人网| 国产AV无遮挡| 日韩毛片一级| 日韩在线中文字幕| 亚洲一卡二卡三卡四卡免| 日韩精品人妻中文字幕| 色噜噜狠狠一区二区三区300部| 亚洲精品成人视频| 国产乱国产乱老熟300视频 | 久久大香蕉精品| 国产成人av在线播放| 91三级片在线播放| 北条麻妃无码精品AV| 中文成人在线| 激情五月在线| 玖玖爱av| 欧美成人精品欧美一级| 国产狂喷水潮免费网站www | 丝袜足交视频在线观看| 中文资源在线a中文| 人人草人人| 97大香蕉在线视频| 久热精品视频| 99久久国产热无码精品免费 | 九色精品| 亚洲国产中文字幕在线播放 | 人人干人妻| 欧美成视频| 高清无码直接看| 成人第一页| 国产欧美一区二区三区特黄手机版| 国产乱妇乱子伦视频免费观看让女人| 日韩视频免费看| 手机在线观看AV| 青青草成人免费在线视频| 日韩黄网| 欧美一区二区丁香五月天激情 | 在线天堂视频| 一级黄色片免费观看| 中文天堂| 丰满熟妇高潮呻吟无码| 在线免费看av| 丁香婷婷综合网| 久久婷婷秘精品日产538| 俺来也俺去也www色官| 日韩欧美黄色| 超碰欧美在线| 野花av| 成人日韩在线| 99成人| 中文字幕在线中文| 国产激情都市一区二区三区欧美 | 少妇视频| 爽爽午国产浪潮AV性色www| 操逼视频在线看| 欧美日韩V| 亚洲国产中文字幕| 91人人妻人人| 高清无码免费在线| 翔田千里中文字幕无码| 操女人逼AV| 亚洲www视频| 人人妻人人爱| a免费在线观看| 午夜精品18码视频国产17c| 特级艺体西西444WWw| av天天日| 在线亚洲观看| 亚洲福利网| 欧美综合色| AV天堂中文字幕| 乱伦精品| 久久精品无码视频| 免费精品黄色网页| 国产成人在线免费| 俺去骚| 在线永久看片免费的视频| 欧美成人精品激情在线观看| h无码| 日本韩国无码视频| 开心四房播播第四婷婷| 超碰97在线免费观看| 国产精品成人3p一区二区三区 | 国产精品大全| 一级黄色影片| 加勒比无码高清| 日韩精品毛片| 日韩不卡在线| 九九九九国产| 国产一级二级三级视频| 免费看一级A片| 日本在线观看www| 自拍偷拍第一页| 河南乱子伦视频国产| 看90后操B| 亚洲日本视频| 中文字幕免费毛片| 视频一区中文字幕| 亚洲婷婷五月天| 免费黄色大片网站| 五月丁香婷婷色| 成人无码影院日韩,成人年…| 丁香激情五月天| 色情一级AA片免费观看| 国产精品特级毛片| 五十路av| 狠狠成人| 六月丁香五月天| 亚洲欧洲日韩| 啪啪动漫| 台湾无码| 波多野结衣av中文字幕| 天堂成人av| 国产亚洲色婷婷| 五月丁香婷婷色色| 国产欧美日韩三级| 成人小视频在线观看| 日韩一级片网站| 伊人成人视频在线观看| 无码AV电影| wwwxx国产| 就要操| 亚洲福利在线观看视频| 99视频在线免费播放| 亚洲性爱电影| 国产第一页在线播放| 蜜臀av一区| 成人在线视频网站| 日韩大香蕉网| 国产特级毛片AAAAAA| 激情一区二区三区| 国产成人午夜精品无码区久久麻豆| 国产剧情自拍| 免费激情| 88AV在线视频| 天天综合网站| 国产一区二区无码| 日韩黄色免费电影| 91精品国产综合久久久蜜臀粉嫩| 在线无码高清| 亚洲区欧美区| 人人摸人人看人人| av一区二区三区| 成人毛片在线播放| 这里精品| 亚洲午夜久久久之蝌蚪窝| 精品无码电影| 99久久久无码国产精品性波多 | 国产成人一区二区无码| 久久香蕉综合在线| 黄色一级片网站| 亚洲欧美成人视频| 亚洲国产成人精品综合99| 亚洲AV无码成人精品区国产| 蜜桃AV无码一区二区三区 | 夜夜骚av.一区二区三区四区| 久久黄色视| 人人妻人人爽人人操| 国产精品秘久久久久久| 夜夜嗨AV一区二区三区啊| 麻豆操逼| 国产成人a亚洲精品| 日本免费版网站nba| 麻豆MD传媒MD0071| 日韩无码观看| 草草视频在线观看| 91女色| 香蕉日逼| 色色五月天婷婷| 精品女人| 天堂AV色| 五月天婷婷乱伦| 在线a | 日韩不卡高清在线观看视频| 18禁在线| 日韩无| 日韩逼逼| 操逼视频国产91| 亚洲AV成人无码久久精品麻豆| 亚洲国产精品成人综合| 亚洲国产精品精JIZZ老师| 日韩三级片av| 先锋影音av在线| 国产AV小电影| 五月天婷婷综合网| 婷婷国产成人精品| 伊人大香蕉在线观看| 在线观看日韩AV| 青娱乐精品在线视频| 亚洲综合伊人无码| 国产福利视频在线| 欧美囗交荫蒂AAAA| 无码水蜜桃一区二区| 91白丝喷水自慰网站| 久久久国产探花视频| 日韩免费视频一区二区| 北条麻纪无码视频| 中国操逼毛片| 豆花网无码视频观看| 日韩精品第一页| 国产乱妇乱子伦视频免费观看让女人| 99国产精品久久久久久久成人| 中文字幕一区三区人妻视频| 无码高清在线| 欧美群交在线| 91探花秘在线播放偷拍| h网站在线看| 午夜福利sw| 精品乱子伦一区二区三区,亚洲国产成| 国产精品秘麻豆免费版现看视频| 伊人精品A片一区二区三区| 翔田千里无码免费播放| 一本色道精品久久一区二区三区| 中文字幕无码AV| 91欧美视频| 日韩一级片免费观看| 少妇人妻一区二区三区| 国产综合色婷婷精品久久| 欧美日皮视频| 自拍偷拍成人视频| 波多野结衣亚洲视频| 国产在线一区二区三区四区| 日韩欧美性爱网站| 91人妻人人澡人人爽人人精品| 亚洲性爱视频在线观看| 麻豆自拍偷拍| 国产三级片无码| 嫩草在线播放| 成人黄片在线免费观看| 99热在线观看| 国产一区不卡| 日日干天天射| 婷婷五月精品| 黄片欧美| 亚洲福利网| 8050午夜一级免费| 亚洲人妻av| 九色精品| 日本三级中文字幕| 在线观看免费黄色| 久久视频免费在线观看| 婷婷激情六月| 99久久99久久99久久久99国产 | 亚洲免费av在线| 免费看毛片中文字幕| 麻豆91麻豆国产传媒| 波多野结衣成人在线| 最近中文字幕免费mv第一季歌词大全| 青青免费在线视频| 奇米av在线| 日韩无码高清网站| 日本免费高清视频在线观看一区| 日韩乱伦小说| 国产成人小视频| 国产免费自拍视频| 黑人巨粗进入疼哭A片| 国产激情在线观看视频| 99色天堂| 茄子av| A级毛片网站| 日无码| 五月天婷婷视频| 青青草激情视频| 囯产精品久久久久久久久久辛辛 | 污网站18禁| 东京热第一页| av一二三区| 91国产视频在线播放| 国产精品久久| 欧美三级片视频| 国产AV一区二区三区四区| 久久久久无码| 亚洲精品秘一区二区三小| 黄片中文字幕| av在线天堂网| 91色图| 午夜视频免费在线观看| 人人爱人人插高清| 成人做爰免费网站2023| 无码日韩精品一区二区免费96| 久久视频免费看| ThePorn人妻白浆| 国产亲子乱XXXXinin| 网站毛片| 91蜜桃在线观看| 免费网站观看www在线观| 亚洲精品自拍偷拍| 91色图| 久久久老熟女一区二区三区91 | 国产喷水ThePorn| 日韩精品在线视频| 国产欧美一区二区| 日韩AV电影在线观看| 97人人爽人人爽人人人| 天天干中文字幕| 久久久无码视频| 91探花秘在线播放偷拍| 国产操逼大全| 亚洲AV黄片| 蜜桃久久av一区| 亚洲69v久久久无码精品| 国产精品一区av| 91视频首页| 成人激情久久| 日日夜夜草| 调教人妻视频| 德国肥妇熟妇BBwBBw| 香蕉网站操逼片| 性爱久久久| 大橡胶伊人网| 人人妻人人澡人人爽久久con | 视频一区中文字幕| 亚洲中文字幕一区二区| 色婷婷五月天| www.91久久| 亚洲女人被黑人巨大进入| 日韩无码首页| aaa在线| av无码电影| 欧美日本在线观看| www.一区二区| 国产在线高潮| 一级片视频在线观看| 亚洲涩情91日韩一区二区| 国产精品午夜福利视频| 国产精品成人免费久久黄AV片| 久激情内射婷内射蜜桃欧美一级| 中文字幕日本精品5| 亚洲男人的天堂视频网在线观看+720P | 天天射天天射| eeuss一区二区| 丁香五月婷婷五月天| 国产无码二区| 不卡不在线中文| 成年人视频在线免费观看| 豆花av在线| 乱子伦国产精品一区二区| 日韩性爱小视频| 丁香婷婷五月色成人网站| 国产免费看片| 人人射视频| 久久久久无码| 在线免费观看黄色片| 激情五月天网| 天天综合国产| 午夜在线观看视频18| 麻豆mdapp01.tⅴ| 蜜桃视频无码| 日韩AV电影在线观看| 中文字幕精品视频| 一级片免费观看| 日韩小电影| 91人妻人人澡人人爽人人精品| 免费看欧美日黄片| 天堂素人约啪| 亚洲人在线观看| 一级a片在线免费观看| 午夜亚洲AV永久无码精品麻豆| av日韩在线播放| 成人动漫一区| 水蜜桃一区二区三区| 欧美国产操逼| 成人在线一区二区三区| 少妇搡BBBB搡BBB搡HD(| yw在线播放| 色综合激情| 精品成人一区二区三区| 北条麻妃在线观看| a在线免费| 国产精品成人无码免费| 黄色视频在线观看网站| 九九九精品| 欧美性久久久久| 欧美久久电影| 日逼无码视频| 超碰人人搞| 久久久久久大香蕉| 青青草乱伦视频| 少妇高潮喷水| 国产三级AV在线| 加勒比精品在线| 国产色情视频| 日本色色视频| 国产精品一二| 朝鲜性感AV在线| 亚洲AV无码日韩AV无码导航 | 青青草成人免费在线视频| 女公务员人妻呻吟求饶| 蜜臀网在线观看| 99热精品免费观看| 激情爱爱网| 欧洲成人午夜精品无码区久久| 国产小电影在线| 无码免费视频在线观看| 夜夜操免费视频| 三级视频在线播放| 无码字幕| 久久国产精品在线| 日本中文无码| 91久久婷婷亚洲精品成人| 草草浮力院| 激情深爱五月天| 国产淫语| 大鸡吧在线观看| 久久无码电影| 在线观看免费黄| 在线播放毛片| 影音先锋成人在线视频| 黄色电影天堂网| 亚洲成人娱乐网| 东京热一区二区三区| 激情在线视频| 欧美三级在线| 午夜精品成人| 97精品超碰一区二区三区| 强伦轩一区二区三区在线观看| 日韩综合在线视频| 亚洲成av人无码| 亚洲AV中文| 亚洲日韩在线播放| 三级无码AV| AV大片免费看| 国产毛片精品一区二区色欲黄A片| 性爱麻豆| 婷婷伊人大香蕉| 国产视频网| 佳佳女王footjob超级爽| 日韩小电影在线观看| 亚洲无色| 亚洲男人的天堂网| 亚洲国产天堂| 男人的天堂2019| 亚洲在线免费观看| 亚洲色图一区二区| 久久国产精品电影| 一级特黄妇女高潮AA片免费播放 | 大地资源38页| 综合在线视频| 无码一道本| gogogo高清在线完整免费播放韩国| 肉色超薄丝袜脚交一区二区| 亚洲色图五月天| 丁香六月啪啪| 做爱无码| 亚洲免费高清| 亚洲无码三级片在线观看| 激情婷婷丁香| 一区二区三区电影网| 天天做夜夜操| 精品福利视频导航| 女人的天堂AAA| 国产A片一区| 丁香五月婷婷中文字幕| 黄片免费视频观看| 成人啪啪视频| 色吧综合网| 蜜桃免费网站| 人妻斩り43歳| 五月婷中文字幕| 大香蕉一区二区三区| 夜夜嗨av无码一区二区三区| 激情视频在线播放| 麻豆传媒一区二区| 天天插天天射| 超碰人人干| 欧美99在线| 大香蕉综合在线观看| 口爆AV| 蜜桃av秘无码一区二区| 亚洲性爱专区| 97人人爽人人爽人人爽| 91成人视频在线免费观看| 精品码一区二在线观看| 午夜黄色| 欧美在线va| 色呦呦视频在线观看| 黄片网站在线看| av天天干| A级片毛片| 无码不卡中文字幕| 日本三级韩三级99久久| 亚洲影音先锋| 国产A级黄色片| 日本黄色A片免费看| 国产乱子伦-区二区三区四区| 99青草| 国产精品国内自产拍| 久久超碰99| 中文解说AⅤ水果派| 国产一级特黄A片| 亚洲综合p| 欧美亚洲在线观看| 色欲一区二区| 91工厂露脸熟女| av天天日| 六月婷婷五月| 久久亚洲av| 老女人操逼视频| 国产熟妇搡BBBB搡BBBB搡| AV无码一区二区| av三级片在线观看| 2016av天堂网| 人人妻人人上| 超碰碰碰碰碰| 中文字幕无码人妻| 手机在线一区| 福利无码| 高清无码视频在线免费观看| 青青五月天| 琪琪久久| 日韩啪| 在线观看中文字幕av| 亚洲超级高清无码第一在线视频观看 | 国产777| 国产精品无码不卡| 日韩亚洲中文字幕| 国产伦子伦一级A片免费看小说 | 久久精品综合| 亚洲日韩国产成人精品久久| 日本熟妇一区二区三区| 99re99| 91av在线电影| 亚洲色久悠悠| 黄色网页在线观看| 污污污污污www在线观看优势 | 老太奶性BBwBBw侧所| 五月激情丁香婷婷| 91干| 风情万种AV| 亚洲色图五月天| 无码一区二| 成人在线免费观看国产| 久久久久久少妇| 亚欧免费视频| 男女啪啪网站| 美女高潮在线| 臭小子晚上让你爽个够视频| 天天干天天干天天干| 十八无码成人免费网站| 宗合久久| 无码国产精品一区二区三| 特黄色A级片视频| 亚洲图片在线观看| 91福利在线观看| 九一久色| 台湾成人视频| 青娱乐在线成人| 西西WWW888大胆无码| 男人天堂社区| 国产三级日本三级国产三级| 96久久| 成人无码网站| 成年人毛片视频| 特级欧美AAAAAA| 操逼大全| 噼里啪啦免费观看视频大全| 男女啊啊啊| 亚洲视频免费| 九月丁香婷婷| 抽插视频免费| 久久撸视频| 自拍视频国产| 日韩一区二区无码| 精品国产AV色一区二区深夜久久| 成人四区| 欧亚无码| 久久成人在线| 18一20女一片毛片| 思思热99热| 在线观看日韩av|