1. Go to this page and download the library: Download madkom/nginx-configurator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
madkom / nginx-configurator example snippets
use Madkom\NginxConfigurator\Builder;
use Madkom\NginxConfigurator\Config\Server;
use Madkom\NginxConfigurator\Parser;
ocation / {
try_files $uri $uri/ /index.php;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# pass the PHP scripts to FastCGI server listening on the php-fpm socket
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
use Madkom\NginxConfigurator\Factory;
use Madkom\NginxConfigurator\Builder;
use Madkom\NginxConfigurator\Config\Location;
use Madkom\NginxConfigurator\Node\Directive;
use Madkom\NginxConfigurator\Node\Literal;
use Madkom\NginxConfigurator\Node\Param;
tion(new Param('/test'), null, [
new Directive('error_page', [new Param('401'), new Param('@unauthorized')]),
new Directive('set', [new Param('$auth_user'), new Literal('none')]),
new Directive('auth_request', [new Param('/auth')]),
new Directive('proxy_pass', [new Param('http://test-service')]),
]));
$server->append(new Location(new Param('/auth'), null, [
new Directive('proxy_pass', [new Param('http://auth-service:9999')]),
new Directive('proxy_bind', [new Param('$server_addr')]),
new Directive('proxy_redirect', [new Param('http://$host'), new Param('https://$host')]),
new Directive('proxy_set_header', [new Param('Content-Length'), new Literal("")]),
new Directive('proxy_pass_request_body', [new Param('off')]),
]));
$server->append(new Location(new Param('@unauthorized'), null, [
new Directive('return', [new Param('302'), new Param('/login?backurl=$request_uri')]),
]));
$server->append(new Location(new Param('/login'), null, [
new Directive('expires', [new Param('-1')]),
new Directive('proxy_pass', [new Param('http://identity-provider-service')]),
new Directive('proxy_bind', [new Param('$server_addr')]),
new Directive('proxy_redirect', [new Param('http://$host'), new Param('https://$host')]),
new Directive('proxy_set_header', [new Param('Content-Length'), new Literal("")]),
new Directive('proxy_pass_request_body', [new Param('off')]),
]));
print($builder->dump());
use Madkom\NginxConfigurator\Builder;
use Madkom\NginxConfigurator\Config\Location;
use Madkom\NginxConfigurator\Config\Server;
use Madkom\NginxConfigurator\Node\Directive;
use Madkom\NginxConfigurator\Node\Literal;
use Madkom\NginxConfigurator\Parser;
> 0) {
/** @var Server $server */
foreach ($servers as $server) {
$builder->append($server);
}
}
$builder->dumpFile('generated.conf');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.