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 3500 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;
        }
    }
  */

In the rapidly evolving world of online sports be[…]

STEPN integrates social networking and games that […]

Cenforce 150 is a medication used to cope with a c[…]

What's SAP FICO?

Trustworthy and skill-building, each of these actu[…]