āĻšā§āĻ¯āĻžāĻ˛ā§, āĻšāĻžāĻŦāĻ°! āĻāĻŽāĻŋ āĻĒā§āĻ¸ā§āĻāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻ
āĻ¨ā§āĻŦāĻžāĻĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻāĻ°ā§ āĻāĻ¨āĻāĻŋ:
āĻĻā§āĻ¤ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻāĻā§āĻ-āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻā§āĻĄ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° (C++ āĻ āĻ˛ā§āĻāĻž) āĻĒā§āĻĨāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻŦāĻžāĻ¸ āĻāĻŦāĻ "āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻĄā§āĻāĻž āĻĒā§āĻ˛ā§āĻ¨" āĻ¯āĻž āĻŦāĻĄāĻŧ āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ "āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻŽā§āĻļ" āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, NGINX, HAProxy, āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻžāĻ° āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻāĻĄ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĻā§āĻā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻžāĻ¯āĻŧ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻĻā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻā§ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤ āĻāĻ°ā§āĨ¤ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻāĻ¨āĻāĻ¯āĻŧ āĻāĻžāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻ˛āĻžāĻāĻžāĻā§āĻ˛āĻŋ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻž, āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ¸ā§āĻ° āĻāĻ°āĻž āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻŽā§āĻ˛ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻ¸ā§āĻ¯ā§āĻ
- āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŦāĻžāĻāĻ°ā§āĻ° āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°: āĻĻā§āĻ¤ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ, āĻāĻā§āĻ-āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¯āĻž āĻ āĻ˛ā§āĻĒ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ RAM āĻ¨ā§āĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻā§āĻ¨ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻˇāĻž āĻŦāĻž āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¯ā§āĻā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
- http/2 āĻāĻŦāĻ grpc āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨: āĻĻā§āĻ¤ā§āĻ° āĻāĻāĻ¤ āĻāĻŦāĻ āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĨāĻŽ-āĻļā§āĻ°ā§āĻŖā§āĻ° http/2 āĻāĻŦāĻ grpc āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ http/1.1 āĻĨā§āĻā§ http/2 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻā§āĻ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĨ¤
- āĻ ā§āĻ¯āĻžāĻĄāĻāĻžāĻ¨ā§āĻ¸āĻĄ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻŋāĻ: āĻĻā§āĻ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ¨āĻāĻĒā§āĻ°āĻāĻžāĻ°, āĻā§āĻāĻ¨ āĻŦā§āĻ°ā§āĻāĻŋāĻ, āĻā§āĻ˛ā§āĻŦāĻžāĻ˛ āĻ°ā§āĻ āĻ˛āĻŋāĻŽāĻŋāĻāĻŋāĻ, āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ āĻļā§āĻ¯āĻžāĻĄāĻŋāĻ, āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻā§āĻ¨ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻŋāĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ¸āĻš āĻāĻ¨ā§āĻ¨āĻ¤ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻŋāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤
- āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻŽā§āĻ¨ā§āĻ API: āĻĻā§āĻ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĻā§ āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
- āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖāĻ¯ā§āĻā§āĻ¯āĻ¤āĻž: L7 āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻāĻā§āĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖāĻ¯ā§āĻā§āĻ¯āĻ¤āĻž, āĻŦāĻŋāĻ¤āĻ°āĻŖāĻā§āĻ¤ āĻā§āĻ°ā§āĻ¸āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻŦāĻ āĻŽāĻā§āĻā§āĻĄāĻŦāĻŋ, āĻĄāĻžāĻ¯āĻŧāĻ¨āĻžāĻŽāĻĄāĻŦāĻŋ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖāĻ¯ā§āĻā§āĻ¯āĻ¤āĻžāĨ¤
āĻ§āĻžāĻĒ 1 - āĻāĻĻāĻžāĻšāĻ°āĻŖ NGINX āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ nginx.conf, āĻĨā§āĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§
nginx āĻ¸ā§āĻ°ā§āĻ¸ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
user www www;
pid /var/run/nginx.pid;
worker_processes 2;
events {
worker_connections 2000;
}
http {
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
log_format download '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_range" "$sent_http_content_range"';
upstream targetCluster {
172.18.0.3:80;
172.18.0.4:80;
}
server {
listen 8080;
server_name one.example.com www.one.example.com;
access_log /var/log/nginx.access_log main;
error_log /var/log/nginx.error_log info;
location / {
proxy_pass http://targetCluster/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
NGINX āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻŽā§āĻ˛ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĨāĻžāĻā§:
- NGINX āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°, āĻ˛āĻ āĻāĻ āĻ¨ āĻāĻŦāĻ Gzip āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
- āĻšā§āĻ¸ā§āĻā§āĻ° āĻāĻžāĻā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ NGINX āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ one.example.com āĻĒā§āĻ°ā§āĻ 8080 āĻāĨ¤
- āĻāĻžāĻ°ā§āĻā§āĻ āĻ˛ā§āĻā§āĻļāĻ¨ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž, āĻāĻāĻāĻ°āĻāĻ˛ā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻāĻžāĻŦā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ āĻšāĻŦā§ āĻ¨āĻž āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻā§ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻāĨ¤ āĻĻā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻā§ āĻāĻžāĻ° āĻŽā§āĻ˛ āĻĒā§āĻ°āĻāĻžāĻ°, āĻ¯āĻž NGINX āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻŽā§āĻ˛ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻŽā§āĻ˛ āĻšāĻ˛:
- āĻļā§āĻ°ā§āĻ¤āĻž: āĻ¤āĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻĻā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻāĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĨ¤ Envoy Proxy āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° TCP-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻļā§āĻ°ā§āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻšāĻ˛ā§, āĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻā§ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
- āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°: āĻāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻ āĻāĻļ āĻ¯āĻž āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻāĻŦāĻ āĻāĻāĻāĻā§āĻ¯āĻŧāĻŋāĻ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻ¯āĻŧā§āĻā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ¯ā§āĻŽāĻ¨ Gzip, āĻ¯āĻž āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻāĻā§ āĻĄā§āĻāĻž āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĨ¤
- āĻ°āĻžāĻāĻāĻžāĻ°: āĻ¤āĻžāĻ°āĻž āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĨ¤
- āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°: āĻ¤āĻžāĻ°āĻž āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻˇ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤
āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ NGINX āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻžāĻ°āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤ āĻĻā§āĻ¤ā§āĻ° āĻ˛āĻā§āĻˇā§āĻ¯ āĻšāĻ˛ API āĻāĻŦāĻ āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻŦā§āĻ¸ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ NGINX āĻĨā§āĻā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ, āĻšāĻžāĻ°ā§āĻĄ-āĻā§āĻĄā§āĻĄ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĨ¤
āĻ§āĻžāĻĒ 2 - NGINX āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻāĻļ nginx.conf āĻāĻŋāĻā§ NGINX āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻāĻ°ā§āĻŽā§ āĻ¸āĻāĻ¯ā§āĻ
āĻ¨ā§āĻā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§āĻŽā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ NGINX āĻāĻžāĻšāĻŋāĻĻāĻž āĻŽā§āĻāĻžāĻ¤ā§ āĻ¸ā§āĻā§āĻ˛ āĻāĻ°āĻŦā§āĨ¤
worker_processes 2;
events {
worker_connections 2000;
}
āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻāĻ°ā§āĻŽāĻĒā§āĻ°āĻŦāĻžāĻš āĻāĻŦāĻ āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤
āĻĻā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĨā§āĻ°ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄ āĻāĻāĻāĻŋ āĻ¨āĻ¨-āĻŦā§āĻ˛āĻāĻŋāĻ āĻāĻā§āĻ¨ā§āĻ āĻ˛ā§āĻĒ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°ā§ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§
- āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻļā§āĻ°ā§āĻ¤āĻžāĻ° āĻāĻĨāĻž āĻļā§āĻ¨āĻž
- āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¯ā§āĻ āĻā§āĻ°āĻšāĻŖ
- āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§
- āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻā§āĻŦāĻĻā§āĻĻāĻļāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ I/O āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯ā§āĻā§āĻ¨ āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŋāĻ āĻāĻāĻ°āĻŖ āĻ¸āĻšāĨ¤
āĻĻā§āĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ˛ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ HTTP/2 āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ˛āĻā§āĻ˛āĻŋ āĻāĻāĻŦāĻžāĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻšā§āĻ¸ā§āĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§, āĻ¯āĻĻāĻŋ āĻāĻžāĻ°āĻāĻŋ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻšā§āĻ¸ā§āĻ āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻžāĻ°āĻāĻŋ HTTP/2 āĻ¸āĻāĻ¯ā§āĻ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄā§ āĻ°ā§āĻā§, āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻĄ āĻŦā§āĻ˛āĻ āĻ¨āĻž āĻāĻ°ā§āĻ āĻ˛ā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯ā§āĻ¨ āĻāĻāĻŋ āĻāĻāĻ āĻĨā§āĻ°ā§āĻĄā§āĻĄāĨ¤ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻāĻ°ā§āĻŽā§ āĻĨā§āĻ°ā§āĻĄ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻ¨āĻˇā§āĻ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻāĻ¯ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ˛ā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻžāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ°ā§ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ¯āĻžāĻ¨
HTTP āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ NGINX āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻŦā§āĻ˛āĻ HTTP āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§āĻŽāĻ¨:
- āĻāĻŋ āĻ§āĻ°āĻ¨ā§āĻ° āĻŽāĻžāĻāĻŽ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤
- āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻžāĻāĻŽāĻāĻāĻ
- āĻāĻŋāĻāĻŋāĻĒ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĻ¤ā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ āĻĻāĻŋāĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻŦāĨ¤
āĻ§āĻžāĻĒ 3 - āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻāĻāĻāĻāĻŋāĻāĻŋāĻĒāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻŦā§āĻ˛āĻā§, āĻāĻ¨āĻāĻŋāĻāĻāĻāĻ¨āĻāĻā§āĻ¸ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°ā§āĻ 8080 āĻ āĻļā§āĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ āĻĄā§āĻŽā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻ¸āĻžāĻĄāĻŧāĻž āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ one.example.com и www.one.example.com.
server {
listen 8080;
server_name one.example.com www.one.example.com;
āĻĻā§āĻ¤ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§, āĻāĻāĻŋ āĻļā§āĻ°ā§āĻ¤āĻžāĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻĻā§āĻ¤ āĻļā§āĻ°ā§āĻ¤āĻž
āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻĻāĻŋāĻ āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻļā§āĻ°ā§āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĨ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ¨āĻāĻ¯āĻŧ āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻāĻžāĻ¨āĨ¤
āĻ¨ā§āĻā§āĻ° āĻ¸ā§āĻ¨āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻļā§āĻ°ā§āĻ¤āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻĒā§āĻ°ā§āĻ 8080 āĻ āĻāĻŦāĻĻā§āĻ§ āĻāĻ°āĻŦā§āĨ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĻāĻŋ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĻā§ āĻŦāĻ˛ā§ āĻ¯ā§ āĻāĻāĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§ āĻšāĻŦā§āĨ¤
āĻĻā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻ¤āĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ YAML āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻ āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋ āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻāĻ¨ā§āĻ¯, āĻāĻāĻžāĻ¨ā§ āĻĻā§āĻā§āĻ¨
Copy to Editorstatic_resources:
listeners:
- name: listener_0
address:
socket_address: { address: 0.0.0.0, port_value: 8080 }
āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¨āĻžāĻŽ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻŦā§āĨ¤
āĻ§āĻžāĻĒ 4 - āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ NGINX āĻ āĻāĻ¸ā§, āĻ¤āĻāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻŦā§āĻ˛āĻ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ°ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŖā§āĻĄā§, āĻ¸āĻžāĻāĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻāĻāĻāĻŋ āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ (āĻ āĻ¨ā§āĻŦāĻžāĻĻāĻā§āĻ° āĻ¨ā§āĻ: āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°) āĻ¨āĻžāĻŽāĻ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻžāĻ°ā§āĻā§āĻāĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°. āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒā§ āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻŦāĨ¤
location / {
proxy_pass http://targetCluster/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
āĻĻā§āĻ¤ā§, āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻ°āĻž āĻāĻāĻŋ āĻāĻ°ā§āĨ¤
āĻĻā§āĻ¤ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°
āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻāĻāĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ¸ā§āĻ āĻ¯ā§ āĻŽā§āĻ¯āĻžāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°_āĻ¨āĻžāĻŽ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒā§āĨ¤ āĻ¯āĻāĻ¨ āĻāĻāĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ¸ā§ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĄā§āĻŽā§āĻ¨ āĻāĻŦāĻ āĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§, āĻ¤āĻāĻ¨ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ NGINX āĻŦāĻāĻŽ-āĻāĻĒ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯āĨ¤
Copy to Editor filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: backend
domains:
- "one.example.com"
- "www.one.example.com"
routes:
- match:
prefix: "/"
route:
cluster: targetCluster
http_filters:
- name: envoy.router
āĻ¨āĻžāĻŽ envoy.http_connection_manager āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĨ¤ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ Redis, āĻŽā§āĻā§āĻā§, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ TCP. āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛ā§āĻĄ āĻāĻžāĻ°āĻ¸āĻžāĻŽā§āĻ¯ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĻā§āĻā§āĻ¨
āĻ§āĻžāĻĒ 5 - āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻŦāĻ āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
NGINX-āĻ, āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻŦā§āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĻā§āĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
upstream targetCluster {
172.18.0.3:80;
172.18.0.4:80;
}
āĻĻā§āĻ¤ā§, āĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻĻā§āĻ¤ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°
āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯āĻā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°āĻž āĻšā§āĻ¸ā§āĻ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§. āĻ¯ā§āĻāĻžāĻŦā§ āĻšā§āĻ¸ā§āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ āĻāĻžāĻāĻŽāĻāĻāĻ, āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻ˛ā§āĻā§āĻ¨ā§āĻ¸āĻŋ āĻāĻŦāĻ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻŋāĻāĻ¯āĻŧā§āĻ° āĻŽāĻ¤ā§ āĻĻāĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻāĻ°āĻ āĻĻāĻžāĻ¨āĻžāĻĻāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
Copy to Editor clusters:
- name: targetCluster
connect_timeout: 0.25s
type: STRICT_DNS
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
hosts: [
{ socket_address: { address: 172.18.0.3, port_value: 80 }},
{ socket_address: { address: 172.18.0.4, port_value: 80 }}
]
āĻ¸ā§āĻŦāĻž āĻāĻŦāĻŋāĻˇā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ STRICT_DNS āĻĻā§āĻ¤ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻŦāĻ āĻ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸āĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĄāĻŋāĻāĻ¨āĻāĻ¸ āĻ˛āĻā§āĻˇā§āĻ¯āĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻŦā§āĨ¤ DNS āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ IP āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšā§āĻ¸ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĻā§āĻāĻŋ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĻā§āĻ¤ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻŦā§ āĻ¯ā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻĻā§āĻāĻŋ āĻšā§āĻ¸ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻ¯āĻŧāĻ āĻāĻžāĻ°āĻ¸āĻžāĻŽā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻšāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻšā§āĻ¸ā§āĻ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĻā§āĻ¤ āĻ§āĻ°ā§ āĻ¨ā§āĻŦā§ āĻ¯ā§ āĻāĻāĻŋ āĻāĻ° āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§āĻ āĻāĻŦāĻ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ˛ āĻĨā§āĻā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻāĻžāĻ¨āĻŦā§āĨ¤
āĻāĻ°ā§ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻā§āĻā§āĻ¨
āĻ§āĻžāĻĒ 6 - āĻ˛āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ
āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻšāĻ¯āĻŧ. āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ˛āĻāĻā§āĻ˛āĻŋāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĒā§āĻļ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻāĻĄ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ˛āĻ āĻāĻāĻāĻĒā§āĻ āĻšāĻ¯āĻŧ stdout и stderr.
āĻ¯āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°ā§, āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ˛āĻāĻā§āĻ˛āĻŋ āĻāĻā§āĻāĻŋāĻ āĻāĻŦāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§ˇ HTTP āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ˛āĻ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻ¤ā§, āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°ā§āĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸_āĻ˛āĻ HTTP āĻ¸āĻāĻ¯ā§āĻ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻĒāĻĨ āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĄāĻŋāĻāĻžāĻāĻ¸ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ stdout, āĻ āĻĨāĻŦāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛āĨ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ˛āĻāĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻāĻ°āĻŦā§ stdout (āĻ āĻ¨ā§āĻŦāĻžāĻĻāĻā§āĻ° āĻ¨ā§āĻ - āĻĄāĻāĻžāĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻĻā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ stdout āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻĄāĻāĻžāĻ° āĻāĻžāĻĄāĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ /dev/stdout āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ˛āĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒāĻžāĻĨ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨)āĨ¤ āĻ¸āĻāĻ¯ā§āĻ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻŦāĻŋāĻāĻžāĻā§ āĻ¸ā§āĻ¨āĻŋāĻĒā§āĻāĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§āĻ¨:
Copy to Clipboardaccess_log:
- name: envoy.file_access_log
config:
path: "/dev/stdout"
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻ āĻŽāĻ¤ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤:
- name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
access_log:
- name: envoy.file_access_log
config:
path: "/dev/stdout"
route_config:
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻāĻ¨āĻāĻ¯āĻŧ-āĻāĻ° āĻāĻāĻāĻŋ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻ¤ā§ HTTP āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§:
[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"n
āĻāĻ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:
[2018-11-23T04:51:00.281Z] "GET / HTTP/1.1" 200 - 0 58 4 1 "-" "curl/7.47.0" "f21ebd42-6770-4aa5-88d4-e56118165a7d" "one.example.com" "172.18.0.4:80"
āĻāĻāĻāĻĒā§āĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¸ā§āĻ āĻāĻ°ā§ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
access_log:
- name: envoy.file_access_log
config:
path: "/dev/stdout"
format: "[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %RESPONSE_CODE% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"n"
āĻ˛āĻ āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¸ā§āĻ āĻāĻ°ā§ JSON āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻā§āĻ āĻāĻāĻāĻĒā§āĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ json_formatāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
access_log:
- name: envoy.file_access_log
config:
path: "/dev/stdout"
json_format: {"protocol": "%PROTOCOL%", "duration": "%DURATION%", "request_method": "%REQ(:METHOD)%"}
āĻĻā§āĻ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĻā§āĻā§āĻ¨
āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻĻā§āĻˇā§āĻāĻŋ āĻ
āĻ°ā§āĻāĻ¨ā§āĻ° āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻāĻĒāĻžāĻ¯āĻŧ āĻ˛āĻāĻŋāĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻā§āĻ°ā§āĻ¸āĻŋāĻ āĻāĻŦāĻ āĻŽā§āĻā§āĻ°āĻŋāĻā§āĻ¸ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ°ā§ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ§āĻžāĻĒ 7 - āĻ˛āĻā§āĻ āĻāĻ°ā§āĻ¨
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ NGINX āĻĨā§āĻā§ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻā§āĻ¨āĨ¤ āĻļā§āĻˇ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨
NGINX āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻļā§āĻ°ā§āĻˇā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ www www; āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¨āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ NGINX āĻā§ āĻ¸ā§āĻŦāĻ˛ā§āĻĒ-āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§āĨ¤
āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ˛āĻŋāĻ āĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻāĻĄ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĨ¤ āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻžāĻ˛āĻžāĻ, āĻ¤āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻŽ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻĻā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¨ā§āĻā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻšā§āĻ¸ā§āĻā§ āĻāĻāĻāĻŋ āĻĄāĻāĻžāĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻžāĻ˛āĻžāĻŦā§āĨ¤ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻ¨āĻāĻ¯āĻŧāĻā§ āĻĒā§āĻ°ā§āĻ 80 āĻ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ āĻļā§āĻ¨āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ˛āĻŋāĻ¸ā§āĻ¨āĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻāĻā§, āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻĒā§āĻ°ā§āĻ 8080-āĻ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ¨ā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
docker run --name proxy1 -p 80:8080 --user 1000:1000 -v /root/envoy.yaml:/etc/envoy/envoy.yaml envoyproxy/envoy
āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ
āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§, āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻāĻāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ cURL āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšā§āĻ¸ā§āĻ āĻšā§āĻĄāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻžāĻ°āĻŋ āĻāĻ°ā§āĨ¤
curl -H "Host: one.example.com" localhost -i
HTTP āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĢāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĻā§āĻāĻž āĻĻā§āĻŦā§ 503. āĻāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ˛ āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ āĻāĻ°āĻā§ āĻ¨āĻž āĻāĻŦāĻ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧā§ˇ āĻ¤āĻžāĻ, āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋāĻ° āĻā§āĻ¨ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¨ā§āĻāĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ HTTP āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻŦā§ āĻ¯āĻž āĻĻā§āĻ¤ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§āĨ¤
docker run -d katacoda/docker-http-server; docker run -d katacoda/docker-http-server;
āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§, āĻĻā§āĻ¤ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
curl -H "Host: one.example.com" localhost -i
āĻā§āĻ¨ āĻĄāĻāĻžāĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°ā§āĻā§ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻ˛āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻāĻāĻĒā§āĻāĻ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ HTTP āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ
āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻā§āĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ HTTP āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨āĨ¤ āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽāĻāĻŋ āĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻšā§āĻ¸ā§āĻ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°ā§āĻā§ āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§āĨ¤ āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ˛ā§āĻā§āĻ¨ā§āĻ¸āĻŋāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ˛ā§ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°āĨ¤
x-envoy-upstream-service-time: 0
server: envoy
āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
static_resources:
listeners:
- name: listener_0
address:
socket_address: { address: 0.0.0.0, port_value: 8080 }
filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: backend
domains:
- "one.example.com"
- "www.one.example.com"
routes:
- match:
prefix: "/"
route:
cluster: targetCluster
http_filters:
- name: envoy.router
clusters:
- name: targetCluster
connect_timeout: 0.25s
type: STRICT_DNS
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
hosts: [
{ socket_address: { address: 172.18.0.3, port_value: 80 }},
{ socket_address: { address: 172.18.0.4, port_value: 80 }}
]
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address: { address: 0.0.0.0, port_value: 9090 }
āĻ āĻ¨ā§āĻŦāĻžāĻĻāĻā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¤āĻĨā§āĻ¯
āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, rpm-āĻ āĻāĻāĻāĻŋ systemd āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻ¨ā§āĻāĨ¤
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻĄ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ /etc/systemd/system/envoy.service:
[Unit]
Description=Envoy Proxy
Documentation=https://www.envoyproxy.io/
After=network-online.target
Requires=envoy-auth-server.service
Wants=nginx.service
[Service]
User=root
Restart=on-failure
ExecStart=/usr/bin/envoy --config-path /etc/envoy/config.yaml
[Install]
WantedBy=multi-user.target
āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ /etc/envoy/ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ config.yaml āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻĻā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻŋāĻā§āĻ°āĻžāĻŽ āĻā§āĻ¯āĻžāĻ āĻāĻā§:
āĻāĻ¨āĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻāĻ¨ā§āĻā§āĻ¨ā§āĻ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻ¯āĻžāĻ°āĻž āĻāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻāĻ°āĻŋāĻĒā§ āĻ
āĻāĻļāĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĨ¤
āĻāĻ āĻĒā§āĻ¸ā§āĻāĻāĻŋ āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻ¤ āĻĒā§āĻ°āĻā§āĻ¸āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻāĻ¤ā§āĻ¸āĻžāĻšāĻŋāĻ¤ āĻāĻ°ā§āĻā§?
-
āĻšāĻžāĻ
-
āĻ¨āĻž
75 āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻā§āĻ āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĻ¨āĨ¤ 18 āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻŦāĻŋāĻ°āĻ¤ āĻāĻŋāĻ˛ā§āĻ¨āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com