• Как в NGINX пропустить запрос OPTIONS в php-fpm?

    Wacdis
    @Wacdis Автор вопроса
    Александр Карабанов, да так же... просто URL у меня был один https://api.../
    Написано
  • Как в NGINX пропустить запрос OPTIONS в php-fpm?

    Wacdis
    @Wacdis Автор вопроса
    Спасибо всем, кто участвовал. Заминка была в том, что запросы на https://api.domain.com/ нельзя отправлять методами, отличными от GET/POST/HEAD.

    Всем спасибо!
    Написано
  • Как в NGINX пропустить запрос OPTIONS в php-fpm?

    Wacdis
    @Wacdis Автор вопроса
    Попробую... Вижу отличия от моего конфига и кода в заголовке X-PHP-REQUEST_METHOD, в сборке nginx:stable-alpine и php:8-fpm-alpine
    Написано
  • Как в NGINX пропустить запрос OPTIONS в php-fpm?

    Wacdis
    @Wacdis Автор вопроса
    Это единственный измененный конфиг стандартного default.conf из docker контейнера nginx:alpine
    Написано
  • Как в NGINX пропустить запрос OPTIONS в php-fpm?

    Wacdis
    @Wacdis Автор вопроса
    default.conf

    server {
    	listen 80;
    	listen [::]:80;
    	return 301 https://$server_name$request_uri;
    }
    server {
    	listen 443 ssl http2;
    	listen [::]:443 ssl http2;
    	client_max_body_size 2M;
    	server_name domain.com admin.domain.com www.domain.com api.domain.com;
    	charset utf-8;
    	index index.php;
    	root /code;
    	ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
    	ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
    	ssl_trusted_certificate /etc/letsencrypt/lets-encrypt-r3.pem;
    	ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    	ssl_ciphers HIGH:!aNULL:!MD5;
    	gzip on;
    	location / {
    		try_files $uri $uri/ @phpindex;
    	}
    	location ~ \.php$ {
    		fastcgi_split_path_info ^(.+\.php)(/.+)$;
    		fastcgi_pass composer-php:9000;
    		fastcgi_index index.php;
    		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_param   SCRIPT_FILENAME         $realpath_root$fastcgi_script_name;
    		fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
    		fastcgi_param   PATH_INFO               $fastcgi_path_info;
    		fastcgi_param   PATH_TRANSLATED         $document_root$fastcgi_path_info;
    		fastcgi_param   REQUEST_URI             $request_uri;
    		fastcgi_param   DOCUMENT_URI            $document_uri;
    		fastcgi_param   DOCUMENT_ROOT           $realpath_root;
    		fastcgi_param   SERVER_PROTOCOL         $server_protocol;
    		fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
    		fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;
    		fastcgi_param   REMOTE_ADDR             $remote_addr;
    		fastcgi_param   REMOTE_PORT             $remote_port;
    		fastcgi_param   SERVER_ADDR             $server_addr;
    		fastcgi_param   SERVER_PORT             $server_port;
    		fastcgi_param   SERVER_NAME             $server_name;
    	}
    	location @phpindex {
    		fastcgi_split_path_info ^(.+\.php)(/.+)$;
    		fastcgi_pass composer-php:9000;
    		fastcgi_index index.php;
    		include fastcgi_params;
    
    		set $index_name /index.php;
    
    		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_param   SCRIPT_FILENAME         $realpath_root$index_name;
    		fastcgi_param   SCRIPT_NAME             $index_name;
    		fastcgi_param   PATH_INFO               $fastcgi_path_info;
    		fastcgi_param   PATH_TRANSLATED         $document_root$fastcgi_path_info;
    		fastcgi_param   REQUEST_URI             $request_uri;
    		fastcgi_param   DOCUMENT_URI            $document_uri;
    		fastcgi_param   DOCUMENT_ROOT           $realpath_root;
    		fastcgi_param   SERVER_PROTOCOL         $server_protocol;
    		fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
    		fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;
    		fastcgi_param   REMOTE_ADDR             $remote_addr;
    		fastcgi_param   REMOTE_PORT             $remote_port;
    		fastcgi_param   SERVER_ADDR             $server_addr;
    		fastcgi_param   SERVER_PORT             $server_port;
    		fastcgi_param   SERVER_NAME             $server_name;
    	}
    	location ~ /\.ht {
    		deny  all;
    	}
    }

    Написано
  • Как в NGINX пропустить запрос OPTIONS в php-fpm?

    Wacdis
    @Wacdis Автор вопроса
    SKEPTIC, не доходят
    Написано
  • Как узнать открыта клавиатура на айфоне или нет?

    Wacdis
    @Wacdis
    попробуй посмотреть разрешение рабочей области, на onResize повесить событие
    Написано
  • Как запустить на одном хосте несколько разных серверов по портам?

    Wacdis
    @Wacdis Автор вопроса
    SSL на не родном порту, например, 9443 работает только тогда, когда на порту 443 стоит редирект на 9443. Легко получается запустить на одном домене кучу серверов на разных портах без SSL, но с SSL вот такая боль. Может чего-то я не докопал... Поэтому, пришлось развести сервера на субдомены и сделать wildcard на домен. Всем спасибо! Проблема решена, хоть и не тем способом, что ожидалось.
    Написано
  • Как запустить на одном хосте несколько разных серверов по портам?

    Wacdis
    @Wacdis Автор вопроса
    ky0, там ограничение вроде, если не ошибаюсь. Нужно указать явно до 5 субдоменов. Нельзя указать *.... я ошибся, через DNS валидацию можно. Спасибо за наводку.
    Написано
  • Как запустить на одном хосте несколько разных серверов по портам?

    Wacdis
    @Wacdis Автор вопроса
    Tema Smirnov, гляну... расширений точно никаких, но вот настройки такие я видел.
    Написано
  • Как запустить на одном хосте несколько разных серверов по портам?

    Wacdis
    @Wacdis Автор вопроса
    ky0, а вся затея была потому, что domain.com:3000 открывается только до тех пор, пока не зайдешь на https://domain.com/. После этого при попытке зайти на domain.com:3000 переадресовывает на https://domain.com:3000! Какого хрена - не знаю (Mac OS Firefox и Chrome ведут себя одинаково)
    Написано
  • Как запустить на одном хосте несколько разных серверов по портам?

    Wacdis
    @Wacdis Автор вопроса
    ky0, я не пытался дать задание, это мнение ошибочно. Тогда бы я не показывал свои бестолковые попытки это сделать. Да, по разным URL-ам все работает вот сейчас. Просто не хотелось каждый раз получать сертификат на очередной субдомен (letsencrytp же wildcard не дает?!), так как сервер с одним доменом и тестовый, каждый раз набор сервисов на портах разный.
    Написано
  • Как запустить на одном хосте несколько разных серверов по портам?

    Wacdis
    @Wacdis Автор вопроса
    Можно написать не ответ ради ответа, а помочь?! Если бы я мог написать конфиг получше, написал бы. А примеры из мануалов не работают, не знаю почему. Задача нормально работает, если это субдомены. Но мне нужно, чтобы домен был один, запросы с SSL, но порт не 443 и отдается внутреннему серверу без SSL.
    Написано
  • Как запустить на одном хосте несколько разных серверов по портам?

    Wacdis
    @Wacdis Автор вопроса
    В чем непонятность? Можно точнее...
    Написано
  • Возможно ли установить контейнер как сервер?

    Wacdis
    @Wacdis Автор вопроса
    Оркестр не использую, в распоряжении только дедики. Разворачивается быстро, но руками пока что. 10 экземпляров работает, но не scale-ом, а 10 сервисов. Работает, но нагрузку не тестировал, залил одним махом 50 заданий, скачал и обработал. Не знаю еще как кролик, справится ли сам под нагрузкой, или нужно второго. Пока все сервисы раскиданы на 3 дедика. Стоят рядом. Спасибо за ответ.
    Написано
  • Возможно ли установить контейнер как сервер?

    Wacdis
    @Wacdis Автор вопроса
    Ромзес Панагиотис, спасибо за помощь! Сделал, запустил на дедике с 22 ядрями 10 воркеров, работают :)

    Посмотрел по ссылке разницу в производительности... Сеть не особо пугает. Думал, разница будет в нагрузке на систему, проце и памяти. Но нет :) Отличный результат. Еще раз спасибо!
    Написано
  • Возможно ли установить контейнер как сервер?

    Wacdis
    @Wacdis Автор вопроса
    Ромзес Панагиотис, про воркеры, имеется ввиду docker-compose up --scale worker=2? С Docker Swarm еще не разбирался. Транзакцию и обрабатывает другой микросервис, этот только сигнал дает, что он закончил с заданием по ID.
    Написано
  • Идеальный алгоритм вёрстки сайта?

    Wacdis
    @Wacdis
    Все уже назвали :)))
    1. Фотки, скрипты, стили жать можно через gulp watch и "плюшки", как только они появились в папках проекта.
    2. После верстки первой страницы, желательно, показать результат заказчику.
    3. Приготовления слишком долгие. Я частенько получал задания просто в виде фотки (без слоев, состояний, мобильных версий, описаний эффектов и т.д.), но шрифт изучить не мешает.
    4. Если встречается шрифт в одном месте, как вы писали, то лучше его упаковать в svg рисунок в кривых и не париться

    И самое главное - бизнес не ждет "идеально", он ждет как можно быстрей!
    5. Уделите время изучению скорости страницы (Pagespeed Insights, YSlow, WebPageTest), семантической разметке, соц.разметке, PWA, уделяйте особое производительности анимации.
    Написано
  • Возможно ли установить контейнер как сервер?

    Wacdis
    @Wacdis Автор вопроса
    Понятно! Спасибо за совет. Вычислительный контейнер сидит и слушает AMQP сообщения, всегда онлайн, ничего не перегружается. Задачи - обработка графики и видео, без хранения и т.п. Принял запрос, скачал, обработал, сжал, выгрузил, сменил статус транзакции.

    А о вопросе... хотелось именно узнать, есть ли возможность установки того, что в контейнере, вместе, в данном случае, с Alpine Linux-ом, установить в голую машину путем заливки образа, как хостовую операционку.
    Написано