Ответы пользователя по тегу Nginx
  • Как устанить ошибку CORS?

    @Galdar Автор вопроса
    Web, JS, PHP, NGINX, Linux
    Разместил вне всех location
    add_header 'Access-Control-Allow-Origin' 'https://domain.ru';
       add_header 'Access-Control-Allow-Credentials' 'true';
       add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken';
       add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';


    Доп инфа, которая была очень полезна:
    https://webdevblog.ru/chto-takoe-cors/
    https://techfeed.net/240446/
    Ответ написан
    Комментировать
  • Как указать путь на новый каталог?

    @Galdar Автор вопроса
    Web, JS, PHP, NGINX, Linux
    Решение
    location ~ ^/temp/(.*) {
    	  alias /var/www/b/c/$1;
    	}
    Ответ написан
    Комментировать
  • Как скачать файл, используя NGINX?

    @Galdar Автор вопроса
    Web, JS, PHP, NGINX, Linux
    ОТВЕТ НА ВОПРОС
    config.nginx
    rewrite ^/f/(.*)/(.*)$ /downloadFile.php?id=$1&file=$2 last;
    
        location /file/ {
          internal;
          root /var/www/domain/c;
        }


    AJAX
    /* ваш скрипт функция которая будет генерировать или как то там вставлять ссылки на ваши файлы */
    $('#c').append('<p id="" class="from-me downloadFile"><a href="/f/'+id+'/'+idImage+'" class="download" download><img src="'+url+'" class="downloadImage"/></a><i class="fas fa-file-download"></i><span class="size">'+size+'</span></p>');


    сам php к которому делается запрос
    // все проверки по которым будет подставляться нужный файл
    ...
    header('Content-Length: '.$filesize);
    header('Content-Type: '.$type); // Тип файла по его расширению
    header('Content-Disposition: attachment; filename='.$filename); // Имя файла
    header('Content-Transfer-Encoding: binary');
    header('Cache-Control: must-revalidate');
    header('X-Accel-Limit-Rate: 1024000'); // Ограничение скорости скачивания
    header('X-Accel-Buffering: yes');
    header('X-Accel-Charset: utf-8');
    header('X-Accel-Redirect: '.$files); // Путь к папке для правил редиректа nginx
    Ответ написан
    Комментировать
  • Как ограничить запросы по порту для некоторых URI?

    @Galdar
    Web, JS, PHP, NGINX, Linux
    возможно сделать через iptables, возможно даже закрыть доступ по порту, но если сервер инициирует запрос, то будет ждать ответ.
    Ответ написан