Задать вопрос
@Deka007

Как настроить htpps nginx+zabbix в docker?

Здравствуйте, есть развернутый zabbix в докере, использующий Nginx, по http все работает. Далее coздал самоподписанный сертификаты через openssl -> ssl.key, ssl.crt, dhparam.pem
Закинул их в /etc/ssl/nginx как описано в документации https://www.zabbix.com/documentation/current/ru/ma...
Порт 443 для докера прокинут:
sudo lsof -i -P -n  | grep docker
[sudo] password for user:
docker-pr 11030            root    4u  IPv6  77784      0t0  TCP *:10051 (LISTEN)
docker-pr 11042            root    4u  IPv6  77811      0t0  TCP *:443 (LISTEN)
docker-pr 11054            root    4u  IPv6  77838      0t0  TCP *:80 (LISTEN)


Ниже приведенные конфиги хранятся в /etc/zabbix/
Конфиг nginx_ssl.conf
nginx_ssl.conf

server {
    listen          443 ssl http2;
    listen [::]:443 ssl http2;
    server_name     srv25;
    server_name_in_redirect off;

    index  index.php;
    access_log      /dev/fd/1 main;
    error_log       /dev/fd/2 error;

    set $webroot '/usr/share/zabbix';

    root $webroot;

    large_client_header_buffers 8 8k;

    client_max_body_size 10M;


#    ssl on;
#    ssl_stapling on;
    ssl_certificate     /etc/ssl/nginx/ssl.crt;
    ssl_certificate_key /etc/ssl/nginx/ssl.key;
    ssl_dhparam /etc/ssl/nginx/dhparam.pem;

    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_verify_depth 3;
    ssl_session_cache    shared:SSL:10m;
    ssl_session_timeout  10m;
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
    add_header Content-Security-Policy-Report-Only "default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-$

    location =/nginx_status {
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        deny all;
    }

    location = /favicon.ico {
        log_not_found off;
    }

  location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # deny running scripts inside writable directories
    location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
        return 403;
        error_page 403 /403_error.html;
    }

    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    # caching of files
    location ~* \.(ico|pdf|flv)$ {
        expires 1y;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
        expires 14d;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        fastcgi_pass   unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  $webroot$fastcgi_script_name;

        include fastcgi_params;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
}



Конфиг nginx.conf
nginx.conf

server {
    listen          80;
    listen       [::]:80;
    server_name     srv25;
    index           index.php;
    return 301 https://$server_name$request_uri;

    access_log      /dev/fd/1 main;
    error_log       /dev/fd/2 notice;

    set $webroot '/usr/share/zabbix';

    root $webroot;

    large_client_header_buffers 8 8k;
    client_max_body_size 10M;


    location = /favicon.ico {
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # deny running scripts inside writable directories
    location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
        return 403;
        error_page 403 /403_error.html;
    }

    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    # caching of files
    location ~* \.(ico|pdf|flv)$ {
        expires 1y;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
        expires 14d;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }

    location ~ .php$ {
        fastcgi_pass   unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  $webroot$fastcgi_script_name;

        include fastcgi_params;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
}


nginx -t показывает что сервер запщуен
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful


но в конечном итоге при подключении ( прописываю адрес сервера) выдается
Хмм. Нам не удаётся найти этот сайт. ы не можем подключиться к серверу zabbix.
Если этот адрес корректен, вы можете попробовать выполнить следующие действия:
    Повторить попытку позже.
    Проверить своё соединение с сетью.
    Если вы соединились с Интернетом, но защищены межсетевым экраном, проверьте, что Firefox разрешен доступ в Интернет.


В качестве фаервола на ubuntu у меня ufw, доступ к портам 443, 80, 10051 открыт.
  • Вопрос задан
  • 1240 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
может я что-то упустил, но ИМХО nginx_ssl.conf не подключен.
Обычно его надо засунуть в conf.d диркекторию.
Или, для проверки, просто добавьте ssl config в конец nginx.conf
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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