- Tue Apr 30, 2019 12:39 pm
#824189
Hello everyone
I am testing ProcessMaker Community 3.3.4 with Stack N225 and currently want to publish the web application to the Internet through my public address.
I have been able to access ProcessMaker through the public address and some of the header tabs work without being within the server network, however when I click the 'Designer' tab (being outside the server network), the application tries to communicate with an API on the ProcessMaker server and fails. I understand the logic of why someone outside can't connect to the application server, however I can't visualize how to design the scheme for ProcessMaker to work both on my local network and for other people on the internet.
Nginx Configuration
I show captures of requests being inside and outside the network.
I am testing ProcessMaker Community 3.3.4 with Stack N225 and currently want to publish the web application to the Internet through my public address.
I have been able to access ProcessMaker through the public address and some of the header tabs work without being within the server network, however when I click the 'Designer' tab (being outside the server network), the application tries to communicate with an API on the ProcessMaker server and fails. I understand the logic of why someone outside can't connect to the application server, however I can't visualize how to design the scheme for ProcessMaker to work both on my local network and for other people on the internet.
Nginx Configuration
Code: Select all
#ProcessMaker HTTP Virtual Host
server {
listen 80;
listen [::]:80;
# Change for server DNS name
server_name 192.168.1.1;
# The following line must be added Only if phpMyAdmin is configured
# include /opt/phpMyAdmin/phpMyAdmin.conf;
root /opt/processmaker/workflow/public_html; #where ProcessMaker is installed
index index.html index.htm app.php index.php;
try_files $uri $uri/ /index.php?$args;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
#
# Wide-open CORS config for nginx
#
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
#
# Om nom nom cookies
#
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log /var/log/nginx/pm-access.log combined; #enables access logs
error_log /var/log/nginx/pm-error.log error; #enables error logs
sendfile off;
client_max_body_size 100m;
# Every PHP script must be routed to PHP-FPM
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/processmaker.sock;
fastcgi_index app.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /opt/processmaker/workflow/public_html/app.php;
fastcgi_intercept_errors off;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
# Browser Caching
location ~* \.(ico|css|js|gif|jpeg|jpg|png|woff|ttf|otf|svg|woff2|eot)$ {
expires 24h;
add_header Cache-Control public;
access_log off;
log_not_found off;
fastcgi_pass unix:/var/run/php-fpm/processmaker.sock;
fastcgi_index app.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /opt/processmaker/workflow/public_html/app.php;
fastcgi_intercept_errors off;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~ /\.ht {
deny all;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
I show captures of requests being inside and outside the network.
Attachments
Inside network.jpg (400.76 KiB) Viewed 17176 times
Outside network.jpg (305.43 KiB) Viewed 17176 times