WAF/高防-高速通道跨地域回源測試
測試場景
由於鏈路問題,為了保障鏈路質量,通過高速通道跳轉回源。
使用華東1的VPC模擬A區域,使用華東2的VPC模擬B區域的,服務端為真實的源站。
即:
client->華東1vpc->華東2VPC->源站服務器;
部署為http服務。
測試環境
1.客戶端:華北1 ECS:xx.xx.17.204
2.模擬中轉環境:
地域
|
vpc實例ID
|
網段
|
路由接口
|
測試ECS實例
|
私網IP
|
公網IP
|
華東1
|
vpc-bp15quc1ec8jgbexxxx
|
192.168.0.0/16
|
ri-bp17uip06c3lxxx
|
i-bp16bg1pf5e0ozhdrxx
|
192.168.100.11
|
xx.xx.175.46
|
華東2
|
vpc-uf6dkst3815ispzxxxxx
|
172.16.0.0/12
|
ri-uf6oh5quroxxx
|
i-uf6itotpmd9k9u7b0xx
|
172.24.2.33
|
xx.xx.135.89
|
3.服務端:華南1 ECS:xxx.xxx.247.201
4.測試域名:tz.pier39.cn 域名解析到華東1的ECS公網IP上 xx.xx.175.46
路由配置
華東1
vpc-bp15quc1ec8jgbexxxx 配置 172.16.0.0/12 這個網段的路由指向 ri-bp17uip06c3lxxxx

華東2
vpc-uf6dkst3815isxxxxx 配置192.168.0.0/16 這個網段的路由指向 ri-uf6oh5quroxxxxx
配置後測試互ping正常



服務配置
注:主配置文件沒有改動,2台ECS就貼一份了。
主配置文件:
# For more information on configuration, see:
# * Official English Documentation: https://nginx.org/en/docs/
# * Official Russian Documentation: https://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See https://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
}
1.華東1
VPC ECS實例(192.168.100.11)上配置nginx提供80端口服務,並反向代理到華東2-VPC ECS實例(172.24.2.33)的80端口上;
upstream tzserver {
server 172.24.2.33:80;
}
server {
listen 80;
server_name tz.pier39.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass https://tzserver;
index index.html index.htm;
proxy_set_header Host $http_host;
proxy_set_header X-Forward-For $remote_addr;
}
}
2.華東2
VPC ECS實例(172.24.2.33)上配置nginx提供80端口服務,並反向代理到服務端華南1 ECS:120.24.247.201的80端口上;
upstream tzserver33 {
server 120.24.247.201:80;
}
server {
listen 80;
server_name tz.pier39.cn;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass https://tzserver33;
index index.html index.htm;
proxy_set_header Host $http_host;
proxy_set_header X-Forward-For $remote_addr;
}
}
測試
能夠正常訪問到 服務端(xxxx.xxx.247.201)的內容。


總結
1.業務架構
這個這裏介紹的架構比較簡單隻是ECS到ECS最後回源到服務端。
如果考慮高可用,可以加入slb。類似架構:
client->華東1 slb->華東1 ECS->華東2 slb -> 華東2 ECS->源站
如果接入高防/waf可以類似的架構:
client->WAF/高防->華東1 slb->華東1 ECS->華東2 slb -> 華東2 ECS->源站
如果接入CDN的架構類似:
client->CDN->WAF->華東1 slb->華東1 ECS->華東2 slb -> 華東2 ECS->源站
如果出現鏈路擁塞時,可以考慮如此配置,規避鏈路問題;
2.業務類型
這裏介紹的業務為http的,同理https的方式是是一樣的。
使用到的原理為請求的轉發,如果其他類型的業務能夠滿足這個條件也可以使用。
3.其他
上述配置過程中,相關高速通道的配置內容沒有細節,隻注重了實現。
具體的方法可以參考鏈接內容:https://help.aliyun.com/document_detail/44842.html
最後更新:2017-10-31 23:06:08