• Telegram самоподписной сертификат для IP?

    theblackpost
    @theblackpost Автор вопроса
    В общем, решил.
    Итак, мб кому-то пригодится нормальная инструкция для IP:

    openssl req -newkey rsa:2048 -sha256 -nodes -x509 -days 365 \
    -keyout YOURPRIVATE.key \
    -out YOURPUBLIC.crt \
    -subj "/C=RU/ST=Saint-Petersburg/L=Saint-Petersburg/O=Example Inc/CN=IP_СЕРВЕРА"


    Дальше, конвертим в .pem :

    openssl x509 -in YOURPUBLIC.crt -out YOURPUBLIC.pem -outform PEM


    Копируем файлы в папку с другими ключами: (можно не копировать,, но указать свой путь в конфиге Apache)
    cp YOURPUBLIC.crt /etc/ssl/certs/YOURPUBLIC.crt
    cp YOURPRIVATE.key /etc/ssl/private/YOURPRIVATE.key


    В настройки (для apache) /etc/apache2/sites-available/default-ssl.conf :

    <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
    ServerAdmin your_email@example.com
    ServerName IP сервера
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
    SSLCertificateFile      /etc/ssl/certs/YOURPUBLIC.crt
    SSLCertificateKeyFile /etc/ssl/private/YOURPRIVATE.key
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
    </Directory>
    BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
    </VirtualHost>
    </IfModule>


    Создать новый сниппет Apache в каталоге etc/apache2/conf-available.

    Рекомендуется указать в названии файла его назначение (к примеру, ssl-params.conf):

    sudo nano /etc/apache2/conf-available/ssl-params.conf


    # from https://cipherli.st/
    # and https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
    SSLProtocol All -SSLv2 -SSLv3
    SSLHonorCipherOrder On
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
    Header always set X-Frame-Options DENY
    Header always set X-Content-Type-Options nosniff
    # Requires Apache >= 2.4
    SSLCompression off
    SSLSessionTickets Off
    SSLUseStapling on
    SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
    SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"


    Настроечки для Apache:

    sudo a2enmod ssl
    sudo a2enmod headers
    sudo a2ensite default-ssl


    Проверяем,
    sudo apache2ctl configtest
    если ок, то будет что-то типо:
    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
    Syntax OK


    Ребутаем.
    service apache2 restart

    Если ок, то открываем c https в браузере.

    Ну а дальше скармливаем сертификат ОБЯЗАТЕЛЬНО! с @ телеграм боту

    curl -F "url=https://IP_МОЕГО_СЕРВЕРА/tg/index.php" -F "certificate=@YOURPUBLIC.pem" "https://api.telegram.org/МОЙ_ТОКЕН/setwebhook"


    Проверяем:

    https://api.telegram.org/МОЙ_ТОКЕН/getWebhookInfo
    Ответ написан
    Комментировать
  • Существует ли аналог Nuxt для бэкенда на Node?

    @Andrew-Bogdanov
    Есть Nest.js, а вообще да, такие вопросы уже банить пора, куча инфы на эту тему в интернете
    Ответ написан
    Комментировать
  • Реально ли создать сайт только на Javascript?

    @Nc_Soft
    nodejs и вперед, на javascript будет приложение ))
    Ответ написан
    Комментировать
  • Private методы и свойства

    Gero
    @Gero
    Пример: класс из сторонней библиотеки, который наследуется в вашей программе. В течение жизненного цикла вашей программы вы можете обновлять библиотеку на более новую версию, при этом ее внутренне устройство может меняться (private-методы), а интерфейсы, выставленные наружу — нет (в т.ч. и protected-интерфейсы). А вот если какие-то методы были объявлены как protected, то значительно изменять их поведение или декларацию — уже нельзя.
    Ответ написан
    Комментировать
  • Освоить Scrum и Agile на уровне Scrum-мастер

    lalaki
    @lalaki
    Scrum — это здравый смысл + базовые навыки командного менеджмента в применении к разработке ПО (как правило).

    Здравый смысл приходит в основном с опытом, а для овладения командным менеджментом — коммуникации, управление задачами, коллективом — читайте базовые книги по менеджменту и психологии управления.

    Чисто на механическом знании Scrum-ритуалов не выедете, на каком бы системном уровне их не освоили — все время будет что-то не так.

    Что посоветую:

    Джон Адаир — «Как управлять людьми и самим собой». Очень практичная книга, вплоть до наличия упражнений — нужно не лениться и упражнения выполнять.

    Ицхак Адизес — «Идеальный руководитель», «Управляя изменениями». Изложена его методология — must read для любого участника команды.

    Михаил Литвак — «Командовать или подчиняться». Прикладная психология — аналогично must read.

    + полезны книги по другим, более нагруженным методологиям — например, «RUP — это легко» — помогают понять, как вообще крутятся шестеренки при разработке ПО и почему и когда хорош Scrum. И какие-либо азы по построению бизнес-процессов — тоже помогают понять, как много общего у разработки ПО с другими отраслями.
    Ответ написан
    1 комментарий