• Зачем указывают ssl_dhparam в конфиге nginx? Какой риск если его убрать из конфига?

    Vamp
    @Vamp
    dhparam - это простое число, используемое в алгоритме Диффи-Хеллмана для обмена сессионными ключами с клиентом.

    Указание ssl_dhparam делает доступным для использования в nginx семейство алгоритмов DHE/EDH. Как раз тех, что используют Forward Secrecy, о которых пишется в вашей цитате. Если в двух словах, то при использовании алгоритмов с FS злоумышленник не сможет расшифровать перехваченный трафик, даже если завладеет приватным ключом сервера.

    Маленькое значение этого простого числа делает возможным атаку logjam на TLS, поэтому следует генерировать большое. 4096 бит будет достаточно с запасом.

    Команда для генерации файла dhparam:
    openssl dhparam -out /etc/pki/nginx/dhparam.pem 4096
    Ответ написан
    5 комментариев
  • Автостарт всех docker контейнеров после reboot в Debian 10?

    @wercsev
    Ubuntu
    смотрим все контейнеры команда:
    docker ps -a

    в первом столбце CONTAINER ID находим ID своего контейнера и устанавливаем его в команде:

    docker update --restart unless-stopped c8cb88e07458

    c8cb88e07458- нужно заменить на ID своего контейнера
    Ответ написан
    Комментировать
  • Что такое кластер баз данных?

    bingo347
    @bingo347
    Crazy on performance...
    Попытаюсь объяснить на пальцах
    В большинстве случаев основная нагрузка идет на чтение БД, часто бывает, что одна машина не справляется с существующей нагрузкой, тогда поднимают кластер — запускают СУБД на нескольких машинах, одна из них объявляется мастером, остальные репликами
    Мастер занимается только записью и распространением готовых изменений по репликам
    А читаем мы только из реплик, балансируя нагрузку между ними, тем самым снижая нагрузку на каждую из них и уменьшая время отклика
    Ответ написан
    1 комментарий
  • Как переименовать папки, убрав в точку "."?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Написать скрипт, который проверяет имя файла по регулярке и все отобранные с точкой в конце переименовывает, отбрасывая точку. Пишется все на bash за полчаса маскимум.
    Ответ написан
    Комментировать
  • Как переименовать папки, убрав в точку "."?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Подумай о том что переименование - это тоже неоднозначная операция. К примеру у тебя был фолдер
    /svn
    /.svn

    и после переименования у тебя файлы из точка-свн сливаются с свн со всеми последствиями. С переписыванием
    и потерей нужных файлов.
    Ответ написан
    Комментировать
  • Перенаправление портов по имени сайта

    artzub
    @artzub Автор вопроса
    Программист
    В первую очередь выражаю свою благодарность inkvizitor68sl и rednaxi, что посоветовали на nginx.

    А теперь решение:
    первый файл ts.our (расположен в каталоге /etc/nginx/sites-available и имеет символическую ссылку в /etc/nginx/sites-enabled):
    1. upstream backend {
    2.     # Адрес back-end'a
    3.     server 192.168.0.2:8888;
    4. }
    5.  
    6. server {
    7.  
    8.     listen 80; ## listen for ipv4
    9.     listen [::]:80 default ipv6only=on; ## listen for ipv6
    10.  
    11.     server_name   www.ts.our ts.our;
    12.  
    13.     access_log   /var/www/ts/logs/ts.access.log;
    14.     error_log    /var/www/ts/logs/ts.error.log;
    15.  
    16.     location / {
    17.         access_log   /var/www/ts/logs/ts_root;
    18.         proxy_pass   http://192.168.0.2:8888;
    19.         include     /etc/nginx/proxy.conf;
    20.     }
    21.  
    22.     location /doc {
    23.         access_log   /var/www/ts/logs/ts_doc;
    24.         rewrite     ^/doc(/.*)?$ /javadoc$1;
    25.         root      /var/www/ts/core/docs/;
    26.         index      index.html;
    27.     }
    28.  
    29.     location /javadoc {
    30.         access_log   /var/www/ts/logs/ts_jdoc;
    31.         root      /var/www/ts/core/docs/;
    32.         index      index.html;
    33.     }
    34.  
    35.     # Статическиое наполнение отдает сам nginx
    36.     # back-end этим заниматься не должен
    37.     location ^~ /cssimages/ {
    38.         access_log   /var/www/ts/logs/ts_css;
    39.         root      /var/www/ts/core/webapps/TrackStudio/;
    40.         expires     max;
    41.     }
    42.  
    43.     location ^~ /icons/categories/ {
    44.         access_log   /var/www/ts/logs/ts_cat;
    45.         root      /var/www/ts/core/etc/plugins/;
    46.         expires     max;
    47.     }
    48.  
    49.     location ^~ /style/ {
    50.         access_log   /var/www/ts/logs/ts_st;
    51.         root /var/www/ts/core/webapps/TrackStudio/;
    52.     }
    53.  
    54.     location ^~ /jquery/ {
    55.         access_log   /var/www/ts/logs/ts_jq;
    56.         root /var/www/ts/core/webapps/TrackStudio/;
    57.     }
    58. }
    59.  
    60. # HTTPS server#
    61. server {
    62.     listen     443;
    63.     server_name   www.ts.our ts.our;
    64.  
    65.     location / {
    66.         proxy_pass   https://192.168.100.60:8433;
    67.         include     /etc/nginx/proxy.conf;
    68.     }
    69. }


    второй это настройки proxy.conf (расположены в каталоге /etc/nginx):
    1. proxy_redirect         off;
    2. proxy_set_header        Host $host;
    3. proxy_set_header        X-Real-IP $remote_addr;
    4. proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    5. client_max_body_size      10m;
    6. client_body_buffer_size     128k;
    7. proxy_connect_timeout      90;
    8. proxy_send_timeout       90;
    9. proxy_read_timeout       90;
    10. proxy_buffer_size        4k;
    11. proxy_buffers          4 32k;
    12. proxy_busy_buffers_size     64k;
    13. proxy_temp_file_write_size   64k;


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

    надеюсь кому-то пригодится.

    P.S. на jetty весит TrackStudio
    Ответ написан
    Комментировать
  • Перенаправление портов по имени сайта

    artzub
    @artzub Автор вопроса
    Программист
    Спасибо всем!
    Нашел решение сам.
    вот если кому понадобится:

    <VirtualHost *:80>
      ServerName ts.our

      <Proxy *>
        Order deny,allow
        Allow from all
      </Proxy>

      ProxyPass / http://192.168.0.2:8888/
      ProxyPassReverse / http://192.168.0.2:8888/
      ErrorLog /var/log/apache2/ts_error_log
      CustomLog /var/log/apache2/ts_log common
    </VirtualHost>

    Ответ написан
    4 комментария
  • Почему возникает Error while sending QUERY packet в MariaDb?

    @dahujika Автор вопроса
    Отвечу сам.
    Короткая версия: в конструкторе pdo четвертым параметром добавить массив сPDO::MYSQL_ATTR_MAX_BUFFER_SIZE=>1024*1024*50,
    где число - размер пакета в байтах.

    Полная версия:
    Частая рекомендация при подобной ошибке - увеличение wait_timeout и max_allowed_packet
    в конфигурационном файле (/etc/my.cnf в моем случае), мне не помогло. Подробно тут.

    Помогли же:
    1. документация msyql, где указано, что you must increase this variable both in the client and in the server
    2. топик о том, что во всем виноват pdo
    3. комментарий на php.net о том, что у pdo есть свой собственный параметр MYSQL_ATTR_MAX_BUFFER_SIZE, который и надо увеличить.
    Ответ написан
    1 комментарий