Ffurfweddu derbyniad awtomatig o dystysgrifau letsencrypt gyda docwr ar linux

Newidiais weinydd rhithwir yn ddiweddar, a bu'n rhaid i mi osod popeth eto. Mae'n well gennyf i'r wefan fod yn hygyrch dros https ac i dystysgrifau letsencrypt gael eu cael a'u hadnewyddu'n awtomatig. Gellir cyflawni hyn trwy ddefnyddio dwy ddelwedd docwr nginx-proxy a nginx-proxy-companion.

Mae hwn yn ganllaw ar sut i sefydlu gwefan ar docwr, gyda dirprwy sy'n derbyn tystysgrifau SSL yn awtomatig. Defnyddir gweinydd rhithwir CentOS 7.

Rwy'n cymryd bod y gweinydd eisoes wedi'i brynu, ei ffurfweddu, mae mynediad iddo yn cael ei wneud trwy allwedd, mae fail2ban wedi'i osod, ac ati.

Yn gyntaf mae angen i chi osod docwr.

  1. Yn gyntaf mae angen i chi osod y dibyniaethau
    $ sudo yum install -y yum-utils  device-mapper-persistent-data lvm2
  2. Cysylltu ystorfa
    $ sudo yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
  3. Yna gosodwch rifyn cymunedol docker
    $ sudo yum install docker-ce docker-ce-cli containerd.io
  4. Ychwanegu docwr i gychwyn a rhedeg
    $ sudo systemctl enable docker
    $ sudo systemctl start docker
  5. Ychwanegwch ddefnyddiwr i'r grΕ΅p docwyr er mwyn gallu rhedeg docwr heb sudo
    $ usermod -aG docker user

Y cam nesaf yw gosod docker-compose. Gellir gosod y cyfleustodau mewn sawl ffordd, ond mae'n well gen i osod trwy'r rheolwr pip a virtualenv, er mwyn peidio Γ’ rhwystro'r system Γ’ phecynnau diangen.

  1. Gosod pip
    $ sudo yum install python-pip
  2. Gosod virtualenv
    $ pip install virtualenv
  3. Nesaf, mae angen i chi greu ffolder gyda'r prosiect a'i gychwyn. Gelwir y ffolder gyda phopeth sydd ei angen ar gyfer rheoli pecynnau yn ve.
    $ mkdir docker
    $ cd docker
    $ virtualenv ve
  4. I ddechrau defnyddio'r amgylchedd rhithwir, mae angen i chi redeg y gorchymyn canlynol yn y ffolder prosiect.
    $ source ve/bin/activate
  5. Gallwch chi osod docker-compose.
    pip install docker-compose

    Er mwyn i'r cynwysyddion weld ei gilydd, gadewch i ni greu rhwydwaith. Defnyddir gyrrwr y bont yn ddiofyn.

    $ docker network create network

    Nesaf, mae angen i chi ffurfweddu docker-compose, bydd y dirprwy yn y ffolder dirprwy, y safle prawf yn y ffolder prawf. Er enghraifft, rwy'n defnyddio'r enw parth example.com

    $ mkdir proxy
    $ mkdir test
    $ touch proxy/docker-compose.yml
    $ touch test/docker-compose.yml

    Cynnwys 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:

    newidyn amgylchedd NGINX_PROXY_CONTAINER sydd ei angen er mwyn i'r cynhwysydd letsencrypt weld y cynhwysydd dirprwy. Rhaid i'r ddau gynhwysydd rannu'r ffolderi /etc/nginx/certs /etc/nginx/vhost.d a /usr/share/nginx/html. Er mwyn i'r cynhwysydd letsencrypt weithio'n gywir, rhaid i'r rhaglen fod ar gael ar borthladdoedd 80 a 443.

    Cynnwys 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]

    Yma, mae angen newidynnau amgylchedd fel bod y dirprwy yn prosesu'r cais i'r gweinydd yn gywir ac yn gofyn am dystysgrif ar gyfer yr enw parth cywir.

    Erys dim ond i redeg docker-compose

    $ cd proxy
    $ docker-compose up -d
    $ cd ../test
    $ docker-compose up -d

Ffynhonnell: hab.com

Ychwanegu sylw