Профиль пользователя заблокирован сроком с 20 сентября 2021 г. и навсегда по причине: систематические нарушения правил сервиса
Ответы пользователя по тегу Nginx
  • Как защитить контент от парсинга с помощью Nginx?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Не нужно вешать на nginx задачу защиты от парсинга, он не для этого создан.
    Защищаться надо собственными силами на бэке
    Ответ написан
    Комментировать
  • Как отдавать видео стрим для iOS, Android?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    В чём вопрос-то?
    Размещаешь медиафайл на сервере, передаёшь ссылку на него в приложение и показываешь, например через MediaPlayer.
    Какой ещё 1 байт? Автор, ты что куришь?
    Какую именно проблему ты хочешь решить?
    Ответ написан
    Комментировать
  • Защита от плохих ботов/ddos защита?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Ищут уязвимости, перебирая страницы и запросы к ним по шаблону, который хранится у них в словаре. Например, у одинаковых CMS одинаковые точки входа в админку, на поисковые страницы и прочее.
    Обычно это делается через специальный софт, в который заложен набор таких предопределённых параметров.
    На мой сайт тоже такие атаки делаются. Но у меня он выдерживает высокие нагрузки, так что 100 тысяч лишних запросов в сутки он даже не заметит.
    Улучшайте качество сайта, чтобы он выдерживал такой траффик, т.к. писать фильтры для таких запросов - нереально.
    Временное решение - порезать по User-Agent, но велика вероятность, что отвалится большой процент юзеров с точно таким же юзерагентом.
    Либо поставьте что-то вроде CloudFlare
    Ответ написан
    2 комментария
  • Как настроить HTTPS на Nginx-балансировщике?

    samodum
    @samodum Автор вопроса
    Какой вопрос - такой и ответ
    Победил 502-ю, и затем и 404-ю ошибки. Рабочий конфиг для работы nginx-балансировщика по HTPPS с сервером статики и API-бэкендом такой:

    server {
            listen 80 default_server;
            listen [::]:80 default_server;
    
            # SSL configuration
            listen 443 ssl;# default_server;
            listen [::]:443 ssl;# default_server;
    
            server_name my_site.com www.my_site.com;
    
            ssl_certificate            /etc/letsencrypt/live/my_site.com/fullchain.pem;
            ssl_certificate_key        /etc/letsencrypt/live/my_site.com/privkey.pem;
            ssl_trusted_certificate    /etc/letsencrypt/live/my_site.com/chain.pem;
    
            proxy_ssl_certificate /etc/letsencrypt/live/my_site.com/fullchain.pem;
            proxy_ssl_certificate_key  /etc/letsencrypt/live/my_site.com/privkey.pem;
            proxy_ssl_trusted_certificate /etc/letsencrypt/live/my_site.com/chain.pem;
    
            proxy_ssl_verify        on;
            proxy_ssl_session_reuse off;
    
            ssl_verify_client off;
            ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers RC4:HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers on;
    
            location ~ api|put|get$ {
                    proxy_pass http://backend;
            }
    
            location ~ \.well-known {
                    default_type "text/plain";
                    try_files $uri $uri/ =404;
            }
    
            location / {
                    proxy_http_version 1.0;
                    proxy_set_header   Connection "";
    
                    proxy_set_header HOST $host;
                    proxy_set_header X-Forwarded-Proto $scheme;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
                    proxy_buffering off;
                    proxy_pass http://static_server;
            }
    }
    
    upstream backend {
            server yyy.yyy.yyy.yyy;
            server zzz.zzz.zzz.zzz;
            #other servers
    }
    
    upstream static_server {
            server xxx.xxx.xxx.xxx;
            #other servers
    }


    Может быть, что кому-то пригодится такое решение
    Ответ написан
    Комментировать