āĻāĻŽāĻŋ āϏāĻŽā§āĻĒā§āϰāϤāĻŋ āĻāĻāĻāĻŋ āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āϏāĻžāϰā§āĻāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āĻāĻŋ āĻāĻŦāĻ āĻāĻŽāĻžāĻā§ āĻāĻŦāĻžāϰ āϏāĻŦāĻāĻŋāĻā§ āϏā§āĻ āĻāĻĒ āĻāϰāϤ⧠āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻāĻŽāĻŋ āϏāĻžāĻāĻāĻāĻŋāĻā§ https āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ ā§āϝāĻžāĻā§āϏā§āϏāϝā§āĻā§āϝ āĻāϰāϤ⧠āĻāĻŦāĻ letsencrypt āĻļāĻāϏāĻžāĻĒāϤā§āϰāĻā§āϞāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻĒā§āϰāĻžāĻĒā§āϤ āĻāĻŦāĻ āĻĒā§āύāϰā§āύāĻŦā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻĒāĻāύā§āĻĻ āĻāϰāĻŋ⧎ āĻāĻāĻŋ āĻĻā§āĻāĻŋ āĻĄāĻāĻžāϰ āĻāĻŽā§āĻ nginx-proxy āĻāĻŦāĻ nginx-proxy-companion āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻ āϰā§āĻāύ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻāĻāĻŋ āĻĄāĻāĻžāϰ⧠āĻāĻāĻāĻŋ āĻāϝāĻŧā§āĻŦāϏāĻžāĻāĻ āϏā§āĻ āĻāĻĒ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻā§āĻļāĻŋāĻāĻž, āϝā§āĻāĻžāύ⧠āĻāĻāĻāĻŋ āĻĒā§āϰāĻā§āϏāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻā§āϰāĻšāĻŖ āĻāϰ⧠SSL āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻāĻāĻāĻāĻŋ āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āϏāĻžāϰā§āĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ CentOS 7.
āĻāĻŽāĻŋ āĻ āύā§āĻŽāĻžāύ āĻāϰāĻŋ āϝ⧠āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻā§āύāĻž āĻšāϝāĻŧā§āĻā§, āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻāĻŋ āĻā§ āĻĻā§āĻŦāĻžāϰāĻž āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, fail2ban āĻāύāϏā§āĻāϞ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāϤā§āϝāĻžāĻĻāĻŋāĨ¤
āĻĒā§āϰāĻĨāĻŽā§ āĻāĻĒāύāĻžāĻā§ āĻĄāĻāĻžāϰ āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
- āĻĒā§āϰāĻĨāĻŽā§ āĻāĻĒāύāĻžāĻā§ āύāĻŋāϰā§āĻāϰāϤāĻžāĻā§āϞāĻŋ āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 - āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āϏāĻāϝā§āĻ
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo - āϤāĻžāϰāĻĒāϰ āĻĄāĻāĻžāϰ āϏāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧ āϏāĻāϏā§āĻāϰāĻŖ āĻāύāϏā§āĻāϞ āĻāϰā§āύ
$ sudo yum install docker-ce docker-ce-cli containerd.io - āϏā§āĻāĻžāϰā§āĻāĻāĻĒā§ āĻĄāĻāĻžāϰ āϝā§āĻ āĻāϰā§āύ āĻāĻŦāĻ āĻāĻžāϞāĻžāύ
$ sudo systemctl enable docker $ sudo systemctl start docker - āϏā§āĻĄā§ āĻāĻžāĻĄāĻŧāĻž āĻĄāĻāĻžāϰ āĻāĻžāϞāĻžāϤ⧠āϏāĻā§āώāĻŽ āĻšāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āĻĄāĻāĻžāϰ āĻā§āϰā§āĻĒā§ āĻāĻāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻā§ āϝā§āĻā§āϤ āĻāϰā§āύ
$ usermod -aG docker user
āĻĒāϰāĻŦāϰā§āϤ⧠āϧāĻžāĻĒ āĻšāϞ āĻĄāĻāĻžāϰ-āĻāĻŽā§āĻĒā§āĻ āĻāύāϏā§āĻāϞ āĻāϰāĻžāĨ¤ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāĻāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻĒāĻžāϝāĻŧā§ āĻāύāϏā§āĻāϞ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āϤāĻŦā§ āĻāĻŽāĻŋ āĻĒāĻŋāĻĒ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āĻāĻŦāĻ āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞā§āύāĻā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻĒāĻāύā§āĻĻ āĻāϰāĻŋ, āϝāĻžāϤ⧠āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻĒā§āϝāĻžāĻā§āĻāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āĻāĻāĻā§ āύāĻž āϝāĻžāϝāĻŧāĨ¤
- āĻĒāĻŋāĻĒ āĻāύāϏā§āĻāϞ āĻāϰā§āύ
$ sudo yum install python-pip - virtualenv āĻāύāϏā§āĻāϞ āĻāϰā§āύ
$ pip install virtualenv - āĻāϰ āĻĒāϰā§, āĻāĻĒāύāĻžāĻā§ āĻĒā§āϰāĻāϞā§āĻĒā§āϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĢā§āϞā§āĻĄāĻžāϰ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻļā§āϰ⧠āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻĒā§āϝāĻžāĻā§āĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŦāĻāĻŋāĻā§ āϏāĻš āĻĢā§āϞā§āĻĄāĻžāϰāĻāĻŋāĻā§ ve āĻŦāϞāĻž āĻšāĻŦā§āĨ¤
$ mkdir docker $ cd docker $ virtualenv ve - āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āĻĒāϰāĻŋāĻŦā§āĻļ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻļā§āϰ⧠āĻāϰāϤā§, āĻāĻĒāύāĻžāĻā§ āĻĒā§āϰāĻāϞā§āĻĒ āĻĢā§āϞā§āĻĄāĻžāϰ⧠āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻāĻžāϞāĻžāϤ⧠āĻšāĻŦā§āĨ¤
$ source ve/bin/activate - āĻāĻĒāύāĻŋ āĻĄāĻāĻžāϰ-āĻāĻŽā§āĻĒā§āĻ āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
pip install docker-composeāĻāύā§āĻā§āĻāύāĻžāϰāĻā§āϞāĻŋ āĻāĻā§ āĻ āĻĒāϰāĻā§ āĻĻā§āĻāϤ⧠āĻĒāĻžāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ, āĻāϏā§āύ āĻāĻāĻāĻŋ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āϤā§āϰāĻŋ āĻāϰāĻŋāĨ¤ āĻŦā§āϰāĻŋāĻ āĻĄā§āϰāĻžāĻāĻāĻžāϰ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤
$ docker network create networkāĻāϰ āĻĒāϰā§, āĻāĻĒāύāĻžāĻā§ āĻĄāĻāĻžāϰ-āĻāĻŽā§āĻĒā§āĻ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§, āĻĒā§āϰāĻā§āϏāĻŋāĻāĻŋ āĻĒā§āϰāĻā§āϏāĻŋ āĻĢā§āϞā§āĻĄāĻžāϰ⧠āĻĨāĻžāĻāĻŦā§, āĻĒāϰā§āĻā§āώāĻžāϰ āϏāĻžāĻāĻāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻĢā§āϞā§āĻĄāĻžāϰ⧠āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻŽāĻŋ āĻĄā§āĻŽā§āĻāύ āύāĻžāĻŽ example.com āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŋ
$ mkdir proxy $ mkdir test $ touch proxy/docker-compose.yml $ touch test/docker-compose.ymlāϏāĻžāĻŽāĻā§āϰ⧠proxy/docker-compose.yml
version: '3' networks: default: external: name: network services: nginx-proxy: container_name: nginx-proxy image: jwilder/nginx-proxy ports: - 80:80 - 443:443 volumes: - certs:/etc/nginx/certs - vhost.d:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/tmp/docker.sock:ro nginx-proxy-letsencrypt: container_name: nginx-proxy-letsencrypt image: jrcs/letsencrypt-nginx-proxy-companion volumes: - certs:/etc/nginx/certs - vhost.d:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/var/run/docker.sock:ro environment: - NGINX_PROXY_CONTAINER=nginx-proxy volumes: certs: vhost.d: html:āĻĒāϰāĻŋāĻŦā§āĻļ āϏā§āĻāĻ NGINX_PROXY_CONTAINER āĻĒā§āϰāĻā§āϏāĻŋ āĻāύā§āĻā§āĻāύāĻžāϰ āĻĻā§āĻāϤ⧠letsencrypt āĻāύā§āĻā§āĻāύāĻžāϰā§āϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ /etc/nginx/certs /etc/nginx/vhost.d āĻāĻŦāĻ /usr/share/nginx/html āĻĢā§āϞā§āĻĄāĻžāϰ āĻāĻāϝāĻŧ āĻāύā§āĻā§āĻāύāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻļā§āϝāĻŧāĻžāϰ āĻāϰāĻž āĻāĻŦāĻļā§āϝāĻāĨ¤ letsencrypt āĻāύā§āĻā§āĻāύāĻžāϰ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋ 80 āĻāĻŦāĻ 443 āĻāĻāϝāĻŧ āĻĒā§āϰā§āĻā§ āĻāĻĒāϞāĻŦā§āϧ āĻšāϤ⧠āĻšāĻŦā§āĨ¤
āϏāĻžāĻŽāĻā§āϰ⧠test/docker-compose.yml
version: '3' networks: default: external: name: network services: nginx: container_name: nginx image: nginx:latest environment: - VIRTUAL_HOST=example.com - LETSENCRYPT_HOST=example.com - LETSENCRYPT_EMAIL=admin@example.comāĻāĻāĻžāύā§, āĻāύāĻāĻžāϝāĻŧāϰāύāĻŽā§āύā§āĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āϝāĻžāϤ⧠āĻĒā§āϰāĻā§āϏāĻŋ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻ āύā§āϰā§āϧāĻāĻŋ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰ⧠āĻāĻŦāĻ āϏāĻ āĻŋāĻ āĻĄā§āĻŽā§āύ āύāĻžāĻŽā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻļāĻāϏāĻžāĻĒāϤā§āϰā§āϰ āĻ āύā§āϰā§āϧ āĻāϰā§āĨ¤
āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĄāĻāĻžāϰ-āĻāĻŽā§āĻĒā§āĻ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻ āĻŦāĻļā§āώ
$ cd proxy $ docker-compose up -d $ cd ../test $ docker-compose up -d
āĻāϤā§āϏ: www.habr.com
