@argus-inc/simple-reverse-proxy v0.0.1
Simple Reverse Proxy
This library makes it easy to configure multiple reverse proxies with a single config file. The goal is to also make the library programmable so it can be used in code.
Installation
You can install it globally with the following:
yarn global add @argus-inc/simple-reverse-proxyYou can also install it in a project with the following:
yarn add @argus-inc/simple-reverse-proxyRunning
To run simple-reverse-proxy you can do the following globally:
simple-reverse-proxy --config="./myconfig.json"If you are in a project you can simply do the following:
yarn simple-reverse-proxyThe default file loaded is srp.json at the root of the project.
Configuration
Here is a configuration example:
{
"port": 8070,
"hostname": "proxy.myapp.com",
"hasSSL": false,
"environment": "local",
"servers": [
{
"route": "/test/*",
"destination": "http://localhost:8000"
}
]
}Generic configuration:
port: This is the port the proxy should run on.hostname: This is used if theenvironmentis set to live. It is the hostname the proxy will be called.hasSSL: If SSL should be used. If this is set to true then you will need to specify:pathCertificate, pathPrivateKey.environment: Sets the current environment. This means for local the hostname will be ignored.servers: An array of server configurations.
Server configuration:
route: The proxy route that should be called for redirectiondestination: The destination of the traffic
Example:
{
"route": "/test/*",
"destination": "http://localhost:8000"
}This will redirect for instance the request:
RQ: GET http://127.0.0.1:8070/test/random FW: GET http://localhost:8000/test/random
Development
For development the few things to know are:
- Types go in the
src/types.tsfile. - Interfaces, Classes, Enums comm capitalized for instance:
MyClass, ConfigType, MyCoolEnum - Function names and variables come non first character capitalized for instance:
myFunctionIsCool, myAwesomeUserVariable
Make sure to comment your code.
For stesting locally there is a test server in test/index.ts
It can be started with the following command:
yarn tesFor starting the dev environement you can use:
yarn devContributions
PRs are welcome to contribute to the project especially the ones tagged: hacktoberfest
Please follow the following standard for commits:
:emoji: action(namespace): Details
Examples:
š deploy(package): Updating package.json configuration for deployment š fix(child-manager): Fix buffer overflow issue
More info for gitmoji here https://gitmoji.dev/
Bugs & Issues
Please follow the creating an issue template for any bugs or problems
Author
Burlet Mederic mederic.burlet@gmail.com
4 years ago