Использование администратора журналов в домене?

Допустим, мой собственный образ Docker основан на образе Debian, и я устанавливаю Apache с помощью RUN apt-get.

Когда базовый образ обновляется, мне нужно удалить мой контейнер и создать новый. Это можно автоматизировать, например, с помощью Watchtower.

Но как я могу поддерживать приложение в контейнере (Apache в моем примере) в актуальном состоянии? Базовый образ не меняется только потому, что была устранена проблема безопасности в одном пакете, который не поставлялся с базовым образом. Когда я создаю новый контейнер с моим Dockerfile, Apache по-прежнему не обновляется благодаря кешу изображений Docker. --rm \ --detach \ --опубликация 54002: 80 \ --name cloud.example.com \ --...

Я запустил контейнер докеров с образом nextcloud (отсюда https://hub.docker.com/_/nextcloud/ ) с помощью этого скрипта:

docker run \
--rm \
--detach \
--publish 54002:80 \
--name cloud.example.com \
--volume /srv/cloud.example.com/:/var/www/html \
nextcloud

И я Сделали обратный прокси с nginx:

server {
        listen *:80;
        server_name cloud.example.com;
        proxy_set_header Host cloud.example.com;
        location / {
        rewrite ^(.*)$ https://cloud.example.com$1 permanent;
        }
}

server {
        listen *:443 ssl http2;
        server_name     cloud.example.com;
        proxy_set_header Host cloud.example.com;
        set $service_port 54002;
        set $service_ip 192.168.2.33;
        ssl_certificate         /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
        ssl_certificate_key             /etc/letsencrypt/live/cloud.example.com/privkey.pem;

        add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;

        location / {
                proxy_pass http://$service_ip:$service_port;
        }
}

И я получаю код ошибки 502. Я проверил из локальной сети http: // server_ip: 54002 , он работает нормально, также работает только http сайт с прокси! Конфигурация Http Nginx, которая работает:

server {
        set $service_port 54002;
        set $service_ip 192.168.2.33;
        set $domain_name cloud.example.com;

        listen *:80;
        server_name $domain_name;

        proxy_set_header Host $domain_name;

        location / {
                proxy_pass http://$service_ip:$service_port;
        }
}

Что не так с моей конфигурацией https?

2
задан 10 July 2017 в 18:53
1 ответ

После долгих часов борьбы с этой проблемой я наконец обнаружил ошибку на своем сервере. config. С nginx все нормально, но я забыл разрешить порт 443 в ufw. Я ошибочно решил, что правила «Nginx HTTP» достаточно и для http, и для https-соединений, но на самом деле был открыт только порт 80 / tcp, поэтому я ввел ufw allow 443 / tcp , и все ошибки исчезли! @alexus и другие извините, что зря трачу ваше время!

0
ответ дан 3 December 2019 в 14:10

Теги

Похожие вопросы