Ask questions about installing and configuring ProcessMaker 3
By madgoat
#788421
I have installed ProcessMaker on a RHEL 7 box, and it seems to run just fine. By which I mean I haven't actually used it, but it all looks like it should work.

However, we put our production webservers behind a BigIP box (this) which does SSL offload, so websites "behind" the BigIP are encrypted using HTTPS to the user's browser. For most applications, this just works 100% straight out of the box. Just for info, we use a wildard cert in the BigIP for *.domain_name. For the avoidance of doubt: the traffic between the Apache webserver and the BigIP is not encrypted, it's straight HTTP.

With processmaker, there is an intersting problem in designer: it appears like this:
pmbust.jpg
pmbust.jpg (6.4 KiB) Viewed 3499 times
There's lot of things missing!

I've done some detective work, and it seems that the difference between it working with HTTP, and not working with HTTPS, is down to that the following files are not being requested of the webserver: (And this is not in load order)
Code: Select all
< "GET/api/1.0/workflow/project/59802462658755ccf146a14071042477
< "GET/css/neoclassic-pm3.css
< "GET/lib/img/bpmnProcessmaker.gif
< "GET/lib/img/btn_create.png
< "GET/lib/img/caret-down.png
< "GET/lib/img/caret-down-w.png
< "GET/lib/img/corona-delete.png
< "GET/lib/img/corona-flow.png
< "GET/lib/img/corona-gateway-exclusive.png
< "GET/lib/img/corona-intermediate.png
< "GET/lib/img/corona-task.png
< "GET/lib/img/mafe_sprite.png
< "GET/lib/img/sort_asc.png
< "GET/lib/img/sort_both.png
< "POST/api/1.0/workflow/
the /api files look particularly ominous to me.

Is there something I need to do or set to make PM work in a SSL offload environment? I've reviewed the additional configuration steps to run under Apache provided HTTPS (here), and there doesn't seem to be anything out of the ordinary there.
User avatar
By amosbatto
#788924
I wonder if the problem is that PHP thinks that it is http, but it needs to be https to work correctly.
To test this, create a trigger with the following code:
var_dump(G::is_https());
die;
The set the trigger to fire at some point in your process and run a case. If it shows "false", then that is probably the problem.

To fix it, go to gulliver/classes/class.g.php, and change the function from:
Code: Select all
    public static function is_https()
    {
        if (isset($_SERVER['HTTPS'])) {
            if ($_SERVER['HTTPS']=='on') {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
To:
Code: Select all
    public static function is_https()
    {
        return true;
    }
    /*if (isset($_SERVER['HTTPS'])) {
            if ($_SERVER['HTTPS']=='on') {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
  */
Want to create your own meme coin?

In the world of cryptocurrencies, a unique and exc[…]

The market for cryptocurrencies is demonstrating a[…]

What's SAP FICO?

Embarking on a dissertation can be one of the most[…]

Hello. For rental housing, there are software solu[…]