February 18Feb 18 Читал вот эту тему: REST API - Invision Community 4 Support - IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложенияЧитал вот эту тему: Ошибка в создании ключа Rest API - Invision Community 4 Support - IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложенияВ одной попытались помочь ТСу, а в другой ТС как-то сам регил и ни с кем не поделился как он это сделал.Пробовал разные конфигурации nginx, .htaccess тоже мучал. Результатов нет.Текущий nginx config server { server_name test-ipb.spark108.ru ; listen 192.168.10.106:443 ssl; ssl_certificate "/var/www/httpd-cert/*****_2025-06-08-20-00_14.crt"; ssl_certificate_key "/var/www/httpd-cert/****_2025-06-08-20-00_14.key"; charset utf-8; gzip on; gzip_proxied expired no-cache no-store private auth; gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon; gzip_comp_level 1; set $root_path /var/www/fastuser/data/www/****; root $root_path; disable_symlinks if_not_owner from=$root_path; location /api/ { proxy_pass http://127.0.0.1:81; proxy_redirect http://127.0.0.1:81/ /; include /etc/nginx/proxy_params; proxy_set_header Authorization $http_authorization; proxy_set_header X-Authorization $http_authorization; } location / { proxy_pass http://127.0.0.1:81; proxy_redirect http://127.0.0.1:81/ /; include /etc/nginx/proxy_params; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|tff|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ { try_files $uri $uri/ @fallback; } location @fallback { proxy_pass http://127.0.0.1:81; proxy_redirect http://127.0.0.1:81/ /; include /etc/nginx/proxy_params; } include "/etc/nginx/fastpanel2-sites/fastuser/****.includes"; include /etc/nginx/fastpanel2-includes/*.conf; error_log /var/www/fastuser/data/logs/****-frontend.error.log; access_log /var/www/fastuser/data/logs/****-frontend.access.log; } server { server_name **** ; listen 192.168.10.106:80; return 301 https://$host$request_uri; error_log /var/www/fastuser/data/logs/****-frontend.error.log; access_log /var/www/fastuser/data/logs/****-frontend.access.log; } У меня используется FastPanel..htaccess тот же, что предложил загрузить IPS.
February 18Feb 18 Author Это может быть конечно костыль и я лично не рекомендую вносить правки в оригианльные файлы движка, но тем не менее можно попробовать.Суть: отключить проверку работы API.В файле \applications\core\modules\admin\applications\api.phpВ функции public function __call( string $method, mixed $args )Убрать весь блок проверки public function __call( string $method, mixed $args )В результате все управление REST API будет доступно.На данный момент тестирую само API, будет ли оно работать или нет.Тем не менее, скорее всего проверка не проходит по причину того, что домен, через который мы обращаемся из вне просто недоступен внутри сервера, и если сделать curl запрос из php скрипта, то просто домен не резольвится.
February 18Feb 18 Author Да, действительно, домен просто не резольвится. Если добавить в hosts ваш домен и направить его на локальный IP адрес, то все работает.Если у вас FastPanel, то это решение для него.
February 18Feb 18 Author Сообщение для модерации-администрации:1. Почему ваш форум так долго грузится?2. В сообщение выше, гдеУбрать весь блок проверки public function __call( string $method, mixed $args )Я допустил опечатку, там должно быть if( !CIC )3. Почему сообщения находятся на модерации?4. Просьба удалить данное сообщение, если вы его увидели и ответить мне в ЛС, если на то есть необходимость.
April 1Apr 1 я заметил, что rest api может не работать если на веб-сервере стоят самоподписанные и недействительные ssl сертификаты. Видимо curl функции в движке принимают только действительные сертификаты.
April 2Apr 2 Для работы с самоподписанными SSL-сертификатами в PHP cURL (что часто используется в веб-движках) нужно отключить проверку сертификатов с помощью специальных опций.podelitsa+2Настройка в коде PHPДобавьте эти строки перед curl_exec():phpcurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);Это отключит верификацию пира и хоста, позволяя curl игнорировать недействительные сертификаты.stackoverflow+2Полный пример запроса:php$ch = curl_init('https://your-api-endpoint.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); $response = curl_exec($ch); curl_close($ch);Альтернатива: добавить сертификатВместо отключения проверки укажите путь к файлу CA-сертификата:phpcurl_setopt($ch, CURLOPT_CAINFO, '/path/to/your/cacert.pem'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);Скачайте cacert.pem с https://curl.se/docs/caextract.html и добавьте самоподписанный сертификат в него.discuss.elastic+1В php.ini (глобально)Добавьте в раздел [curl]:textcurl.cainfo = "/path/to/cacert.pem"Перезапустите веб-сервер; это укажет на доверенные сертификаты без отключения проверки.stackoverflowПредупреждениеОтключение проверки снижает безопасность (риск MITM-атак), используйте только для разработки или доверенных серверов.reqbin+1https://www.perplexity.ai/search/ia-zametil-chto-rest-api-mozhe-ZDKEIRdKR2G0B6y3MYHckg
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.