2017 © Pedro Peláez
 

library nginx

Control Nginx as a reverse proxy through plinker RPC

image

plinker/nginx

Control Nginx as a reverse proxy through plinker RPC

  • Sunday, July 8, 2018
  • by lcherone
  • Repository
  • 1 Watchers
  • 0 Stars
  • 347 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 56 Versions
  • 351 % Grown

The README.md

PlinkerRPC - Nginx

The aim of this component is to build web forwards/reverse proxy to LXD/LXC containers on the host (or external upstreams), not as a server{} block configurator., (*1)

The component uses nginx as a reverse proxy, it relies on php7-fpm being installed and will overwrite /etc/nginx/nginx.conf! So if you already have nginx installed then dont use this component as it will most likely break your stuff., (*2)

Install

Require this package with composer using the following command:, (*3)

``` bash $ composer require plinker/nginx, (*4)


Then navigate to `./vendor/plinker/nginx/scripts` and run `bash install.sh`. ## Client Creating a client instance is done as follows: <?php require 'vendor/autoload.php'; /** * Initialize plinker client. * * @param string $server - URL to server listener. * @param string $config - server secret, and/or a additional component data */ $client = new \Plinker\Core\Client( 'http://example.com/server.php', [ 'secret' => 'a secret password', // database connection 'database' => [ 'dsn' => 'sqlite:./.plinker/database.db', 'host' => '', 'name' => '', 'username' => '', 'password' => '', 'freeze' => false, 'debug' => false, ] ] ); // or using global function $client = plinker_client('http://example.com/server.php', 'a secret password', [ // database connection 'database' => [ 'dsn' => 'sqlite:./.plinker/database.db', 'host' => '', 'name' => '', 'username' => '', 'password' => '', 'freeze' => false, 'debug' => false, ] ]); ## Methods Once setup, you call the class though its namespace to its method. ### Setup Applies build tasks to plinker/tasks queue. | Parameter | Type | Description | Default | | ---------- | ------------- | ------------- | ------------- | | options | array | Build options | | **Call** $client->nginx->setup([ 'build_sleep' => 5, 'reconcile_sleep' => 5, ]); **Response** ``` text

Update Package

Runs composer update to update package., (*5)

Call, (*6)

$client->nginx->update_package();

Response ``` text, (*7)


### Add Add a web proxy rule. | Parameter | Type | Description | Default | | ---------- | ------------- | ------------- | ------------- | | data | array | Rule data | | **Call** $client->nginx->addBlock([ 'label' => 'My website nginx route', 'ownDomain' => [ 'example.com', 'www.example.com' ], 'ownUpstream' => [ ['ip' => '10.158.250.5', 'port' => '80'] ], 'letsencrypt' => 1, 'enabled' => 1 ]); **Response** ``` text Array ( [status] => success [values] => Array ( [id] => 1 [label] => My website nginx route [name] => c094c6c1-0fa1-40f1-af66-60e173e8dbac [ssl_type] => letsencrypt [added] => 2018-05-13 17:25:51 [updated] => 2018-05-13 17:25:51 [has_change] => 1 [has_error] => 0 [delete] => 0 [enabled] => 1 [update_ip] => 0 [ip] => 10.158.250.5 [port] => 80 [ownDomain] => Array ( [0] => Array ( [id] => 1 [name] => example.com [route_id] => 1 ) [1] => Array ( [id] => 2 [name] => www.example.com [route_id] => 1 ) ) [ownUpstream] => Array ( [0] => Array ( [id] => 1 [ip] => 10.158.250.5 [port] => 80 [route_id] => 1 ) ) ) )

Update Block

Update a web proxy rule., (*8)

Parameter Type Description Default
placeholder string Query placeholder
values array Match values
data array Updated rule data

Call, (*9)

client->nginx->update('name = ?', ['b2f78de7-5994-4c21-9c55-76cefe327a67'], [
    'label' => $test_route_label,
    'ownDomain' => [
        'updated-example.com',
        'www.updated-example.com'
    ],
    'ownUpstream' => [
        ['ip' => '10.158.250.5', 'port' => '80']
    ],
    'letsencrypt' => 0,
    'enabled' => 1
]);

Response, (*10)

``` text, (*11)

Array ( [status] => success [values] => Array ( [id] => 3 [label] => Example [name] => b2f78de7-5994-4c21-9c55-76cefe327a67 [ssl_type] => [added] => 2018-05-12 20:17:09 [updated] => 2018-05-13 17:28:50 [has_change] => 1 [has_error] => 1 [delete] => 0 [enabled] => 1 [update_ip] => 0 [ip] => 10.158.250.5 [port] => 80 [error] => {} [ownDomain] => Array ( [0] => Array ( [id] => 9 [name] => updated-example.com [route_id] => 3 ), (*12)

                [1] => Array
                    (
                        [id] => 10
                        [name] => www.updated-example.com
                        [route_id] => 3
                    )

            )

        [ownUpstream] => Array
            (
                [0] => Array
                    (
                        [id] => 5
                        [ip] => 10.158.250.5
                        [port] => 80
                        [route_id] => 3
                    )

            )

    )

), (*13)


### Remove Remove web proxy rule. | Parameter | Type | Description | Default | | ---------- | ------------- | ------------- | ------------- | | placeholder | string | Query placeholder | | | values | array | Match values | | **Call** ruleById(1) - $client->nginx->remove('id = ?', [1]); ruleByName(1) - $client->nginx->remove('name = ?', ['guidV4-value']) **Response** ``` text Array ( [status] => success )

Reset

Remove all web proxy rules., (*14)

Parameter Type Description Default
purge bool Also remove tasks false

Call, (*15)

$client->nginx->reset();     // remove just rules
$client->nginx->reset(true); // remove rules and tasks (purge)

Response ``` text Array ( [status] => success ), (*16)


### Fetch Fetch currently configured web proxy rules from database. | Parameter | Type | Description | Default | | ---------- | ------------- | ------------- | ------------- | | placeholder | string | Query placeholder | | | values | array | Match values | | **Call** all - $client->nginx->fetch(); ruleById(1) - $client->nginx->fetch('id = ?', [1]); ruleByName(1) - $client->nginx->fetch('name = ?', ['guidV4-value']) **Response** ``` text Array ( [0] => Array ( [id] => 1 [label] => Example [name] => 9801e216-a663-4f21-a3f5-047be2b3b9c9 [ssl_type] => [added] => 2018-05-12 19:52:58 [updated] => 2018-05-12 19:52:58 [has_change] => 0 [has_error] => 0 [delete] => 0 [enabled] => 1 [update_ip] => 0 [ip] => 10.158.250.5 [port] => 80 [error] => [ownDomain] => Array ( [0] => Array ( [id] => 1 [name] => example.com [route_id] => 2 ) [1] => Array ( [id] => 2 [name] => www.example.com [route_id] => 2 ) ) [ownUpstream] => Array ( [0] => Array ( [id] => 1 [ip] => 10.158.250.5 [port] => 80 [route_id] => 2 ) ) ) )

Count

Fetch count of currently configured web proxy rules from database., (*17)

Parameter Type Description Default
placeholder string Query placeholder
values array Match values

Call, (*18)

all           - $client->nginx->count();
ruleById(1)   - $client->nginx->count('id = ?', [1]);
ruleByName(1) - $client->nginx->count('name = ?', ['guidV4-value'])

Response ``` text 1, (*19)


### Rebuild Rebuild web proxy rule. | Parameter | Type | Description | Default | | ---------- | ------------- | ------------- | ------------- | | placeholder | string | Query placeholder | | | values | array | Match values | | **Call** ruleById(1) - $client->nginx->rebuild('id = ?', [1]); ruleByName(1) - $client->nginx->rebuild('name = ?', ['guidV4-value']) **Response** ``` text Array ( [status] => success )

Status

Enumarate and return status of nginx connections., (*20)

Call, (*21)

$client->nginx->status();

Response, (*22)

text Array ( [active_connections] => 2 [accepts] => 579 [handled] => 579 [requests] => 579 [reading] => 0 [writing] => 2 [waiting] => 0 ), (*23)

Testing

There are no tests setup for this component., (*24)

Contributing

Please see CONTRIBUTING for details., (*25)

Security

If you discover any security related issues, please contact me via https://cherone.co.uk instead of using the issue tracker., (*26)

Credits

Development Encouragement

If you use this project and make money from it or want to show your appreciation, please feel free to make a donation https://www.paypal.me/lcherone, thanks., (*27)

Sponsors

Get your company or name listed throughout the documentation and on each github repository, contact me at https://cherone.co.uk for further details., (*28)

License

The MIT License (MIT). Please see License File for more information., (*29)

See the organisations page for additional components., (*30)

The Versions

08/07 2018

dev-master

9999999-dev https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

08/07 2018

v2.1.10

2.1.10.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

08/07 2018

v2.1.9

2.1.9.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

02/06 2018

v2.1.8

2.1.8.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

30/05 2018

v2.1.7

2.1.7.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

23/05 2018

v2.1.6

2.1.6.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

23/05 2018

v2.1.5

2.1.5.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

23/05 2018

v2.1.4

2.1.4.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

21/05 2018

v2.1.3

2.1.3.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

21/05 2018

v2.1.2

2.1.2.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

21/05 2018

v2.1.1

2.1.1.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

13/05 2018

v2.1.0

2.1.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

13/05 2018

v2.0.3

2.0.3.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

13/05 2018

v2.0.2

2.0.2.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

12/05 2018

v2.0.1

2.0.1.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

12/05 2018

v2.0.0

2.0.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

11/05 2018

v1.2.10

1.2.10.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

10/05 2018

v1.2.9

1.2.9.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

10/05 2018

v1.2.8

1.2.8.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

05/05 2018

v1.2.7

1.2.7.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

03/05 2018

v1.2.6

1.2.6.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

03/05 2018

v1.2.5

1.2.5.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

26/01 2018

v1.2.4

1.2.4.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

25/01 2018

v1.2.3

1.2.3.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

24/01 2018

v1.2.2

1.2.2.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

24/01 2018

v1.2.1

1.2.1.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

23/01 2018

v1.2.0

1.2.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

23/01 2018

v1.1.0

1.1.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v1.0.2

1.0.2.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v1.0.1

1.0.1.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v1.0.0

1.0.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v0.4.4

0.4.4.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v0.4.3

0.4.3.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v0.4.2

0.4.2.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v0.4.1

0.4.1.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

17/01 2018

v0.4.0

0.4.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

15/10 2017

v0.3.3

0.3.3.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

15/10 2017

v0.3.2

0.3.2.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

14/10 2017

v0.3.1

0.3.1.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

14/10 2017

v0.3.0

0.3.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

12/10 2017

v0.2.10

0.2.10.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

12/10 2017

v0.2.9

0.2.9.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

12/10 2017

v0.2.8

0.2.8.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

10/10 2017

v0.2.7

0.2.7.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

04/10 2017

v0.2.6

0.2.6.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

04/10 2017

v0.2.5

0.2.5.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

04/10 2017

v0.2.4

0.2.4.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

04/10 2017

v0.2.3

0.2.3.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

04/10 2017

v0.2.2

0.2.2.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

01/10 2017

v0.2.1

0.2.1.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

30/09 2017

v0.2.0

0.2.0.0 https://github.com/plinker-rpc/nginx

Control Nginx as a reverse proxy through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

27/09 2017

v0.1.0

0.1.0.0 https://github.com/plinker-rpc/nginx

WIP: Control NGINX through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

27/09 2017

v0.0.4

0.0.4.0 https://github.com/plinker-rpc/nginx

WIP: Control NGINX through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

27/09 2017

v0.0.3

0.0.3.0 https://github.com/plinker-rpc/nginx

WIP: Control NGINX through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

26/09 2017

v0.0.2

0.0.2.0 https://github.com/plinker-rpc/nginx

WIP: Control NGINX through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker

22/09 2017

v0.0.1

0.0.1.0 https://github.com/plinker-rpc/nginx

WIP: Control NGINX through plinker RPC

  Sources   Download

MIT

The Requires

 

rpc nginx plinker