Vao haingana aho no nanova ny mpizara virtoaly, ary tsy maintsy nanamboatra ny zava-drehetra indray. Aleoko raha azo idirana amin'ny alΓ lan'ny https ny tranokala ary ny mari-pankasitrahana letsencrypt dia azo sy havaozina ho azy. Izany dia azo atao amin'ny fampiasana sary docker roa nginx-proxy sy nginx-proxy-companion.
Ity dia torolΓ lana momba ny fomba fametrahana tranokala ao amin'ny Docker, miaraka amin'ny proxy izay mahazo mari-pankasitrahana SSL ho azy. Ny mpizara virtoaly CentOS 7 no ampiasaina.
Heveriko fa efa novidina ny server, namboarina, niditra tamin'ny fampiasana fanalahidy, nametrahana fail2ban, sns.
Voalohany dia mila mametraka docker ianao.
- Voalohany dia mila mametraka dependencies ianao
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- Connect repository
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- Avy eo apetraho ny fanontana vondrom-piarahamonina docker
$ sudo yum install docker-ce docker-ce-cli containerd.io
- Ampio docker hanombohana sy hihazakazaka
$ sudo systemctl enable docker $ sudo systemctl start docker
- Ampio mpampiasa iray ao amin'ny vondrona docker mba hahafahana mihazakazaka docker tsy misy sudo
$ usermod -aG docker user
Ny dingana manaraka dia ny fametrahana docker-compose. Ny fitaovana dia azo apetraka amin'ny fomba maro, fa aleoko mametraka amin'ny alΓ lan'ny mpitantana pip sy virtualenv, mba tsy hanakorontana ny rafitra amin'ny fonosana tsy ilaina.
- Mametraka pip
$ sudo yum install python-pip
- Mametraka virtualenv
$ pip install virtualenv
- Avy eo dia mila mamorona lahatahiry miaraka amin'ny tetikasa ianao ary manomboka izany. Ny lahatahiry misy ny zavatra rehetra ilainao hitantana ny fonosana dia antsoina hoe ve.
$ mkdir docker $ cd docker $ virtualenv ve
- Mba hanombohana mampiasa ny tontolo virtoaly dia mila manatanteraka ity baiko manaraka ity ianao ao amin'ny lahatahiry tetikasa.
$ source ve/bin/activate
- Azonao atao ny mametraka docker-compose.
pip install docker-compose
Mba hahafahan'ny kaontenera mifankahita dia hamorona tambajotra izahay. Amin'ny alΓ lan'ny default, ny mpamily tetezana no ampiasaina.
$ docker network create network
Avy eo dia mila manamboatra docker-compose ianao, ny proxy dia ho ao amin'ny lahatahiry proxy, ny tranokala fitsapana dia ho ao amin'ny lahatahiry fitsapana. Ohatra, mampiasa ny anarana domain example.com aho
$ mkdir proxy $ mkdir test $ touch proxy/docker-compose.yml $ touch test/docker-compose.yml
Hevitra ato Anatiny 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:
Tontolo iainana miovaova NGINX_PROXY_CONTAINER ilaina ho an'ny container letsencrypt ny mahita ny container proxy. Ny lahatahiry /etc/nginx/certs /etc/nginx/vhost.d sy ββ/usr/share/nginx/html dia tsy maintsy zaraina amin'ireo fitoeran-javatra roa ireo. Mba hahafahan'ny container letsencrypt miasa tsara, ny fampiharana dia tsy maintsy azo idirana amin'ny seranana 80 sy 443.
Hevitra ato Anatiny 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 - [email protected]
Eto dia ilaina ny fari-piainan'ny tontolo iainana mba hahafahan'ny proxy manodinkodina tsara ny fangatahana amin'ny mpizara ary mangataka mari-pankasitrahana momba ny anaran-tsehatra marina.
Ny hany sisa tavela dia ny mihazakazaka docker-compose
$ cd proxy $ docker-compose up -d $ cd ../test $ docker-compose up -d
Source: www.habr.com