Hello everyone, I encountered a problem with making some settings in the ticket system, in some places of the interface an empty window is displayed, and in
devtools > network displays execution error https://exfil.ru/support/scp/ajax.php/form/field-config/21 .

Request URL:
https://exfil.ru/support/scp/ajax.php/form/field-config/21
Request Method:
GET
Status Code:
404 Not Found
Remote Address:
188.114.96.1:443
Referrer Policy:
strict-origin-when-cross-origin

And this is repeated in several places, wherever a pop-up window is displayed for settings.

Server on Ubuntu 22.04
php version 8.1
OsTicket 1.18.1

The page that opens is located behind cloudflare, and in general the entire interface works correctly, except for these moments. If necessary I will attach more information about installation

    nicotine

    I loathe your username as a very recent ex-nicotine addict 🤣

    I suspect you are either running NGINX or your cloudflare/firewall is blocking the request(s). If you're using NGINX you will need to use a specific NGINX config for osTicket that supports said URLs. If you are not using NGINX I'd recommend reaching out to your hosting provider and have them review the security logs to see if these are being blocked by specific rules. I've seen this time and time again with cloudflare firewalls on shared hosts. All they need to do is whitelist the URL or remove the specific rule.

    Cheers.

      KevinTheJedi

      Hello)) It so happens that I use this nickname to register on forums)) I apologize for reminding you of the addiction)) I will keep this in mind in the future)

      Yes, and I use nginx as a web server) I am my own web host, I have a small server room)

      Or maybe you can immediately tell me if there is a mention of a similar problem in the documentation?)

      PS
      I use a translator for communication, in some cases it does not translate the text correctly

        nicotine

        It’s no problem lol Don’t change it!

        NGINX requires you to add additional config. Below is a recipe you can use just replace all needed info with info from your server.

        user  nginx;
        worker_processes 1;
        
        events {
            worker_connections  1024;
        }
        
        http {
            include         mime.types;
            default_type    application/octet-stream;
            sendfile        on;
            charset         utf-8;
            gzip            on;
            gzip_types      text/plain application/xml text/javascript;
            gzip_min_length 1000;
        
            index index.php index.html index.htm;
        
            # Rewrite all requests from HTTP to HTTPS
            server {
                listen 80;
                server_name tickets.mydomain.com;
                rewrite ^ https://tickets.mydomain.com permanent;
            }
        
            server {
                listen 443;
                server_name tickets.mydomain.com;
                ssl on;
                ssl_certificate /etc/nginx/certs/cert.pem;
                ssl_certificate_key /etc/nginx/certs/cert.key;
        
                keepalive_timeout 70;
        
                root /var/www/osticket;
        
                set $path_info "";
        
                location ~ /include {
                    deny all;
                    return 403;
                }
        
                if ($request_uri ~ "^/api(/[^\?]+)") {
                    set $path_info $1;
                }
        
                location ~ ^/api/(?:tickets|tasks).*$ {
                    try_files $uri $uri/ /api/http.php?$query_string;
                }
        
                if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
                    set $path_info $1;
                }
        
                if ($request_uri ~ "^/.*\.php(/[^\?]+)") {
                    set $path_info $1;
                }
        
                location ~ ^/scp/ajax.php/.*$ {
                    try_files $uri $uri/ /scp/ajax.php?$query_string;
                }
        
                location ~ ^/ajax.php/.*$ {
                    try_files $uri $uri/ /ajax.php?$query_string;
                }
        
                location / {
                    try_files $uri $uri/ index.php;
                }
        
                location ~ \.php$ {
                    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                    include        fastcgi_params;
                    fastcgi_param  PATH_INFO        $path_info;
                    fastcgi_pass   127.0.0.1:8888;
                }
            }
        }

        Cheers.

        Error 404 (Not Found): Indicates the requested URL (/support/scp/ajax.php/form/field-config/21) is not found.
        Cause: This could be due to missing files, incorrect file paths, misconfigured server settings, or unsupported OsTicket versions for your setup.

        Write a Reply...