Geen omschrijving

Mohamed Al Ashaal cf68a172f3 used net/url insteadof testutils and created the Dockerfile 7 jaren geleden
Dockerfile cf68a172f3 used net/url insteadof testutils and created the Dockerfile 7 jaren geleden
LICENSE 03ed497e66 Add an MIT LICENSE file 8 jaren geleden
README.md cf68a172f3 used net/url insteadof testutils and created the Dockerfile 7 jaren geleden
colorize.go 1abed6b2bc initializing the new version 7 jaren geleden
flags.go 32bd6eb64c initializing the new version 7 jaren geleden
hosts.go 32bd6eb64c initializing the new version 7 jaren geleden
install.sh cf68a172f3 used net/url insteadof testutils and created the Dockerfile 7 jaren geleden
main.go 32bd6eb64c initializing the new version 7 jaren geleden
server.go cf68a172f3 used net/url insteadof testutils and created the Dockerfile 7 jaren geleden

README.md

HTTPSify v3

A Let'sEncrypt based reverse proxy, that will automatically generate & renew valid ssl certs for your domains, it also enables the http/2 protocol by default, and uses roundrobin as an algorithm to loadbalance the incoming requests between multiple upstreams

Install

# Using Docker

Just run the following and then have fun !!

$ docker run -v $HOME:/root/ -p 443:443 alash3al/httpsify

# Building from source

You must have the Go environment installed

$ go get -u github.com/alash3al/httpsify

Configurations

Goto your $HOME Directory and edit the hosts.json to something like this

{
	"example1.com": ["http://localhost"],
	"example2.com": ["http://localhost:8080", "http://localhost:8081"]
}

As you see, the configuration file accepts a JSON object/hashmap of domain -> upstreams, and yes, it can loadbalance the requests between multiple upstreams using roundrobin algorithm.

Also You don't need to restart the server to reload the configurations, because httpsify automatically watches the configurations file and reload it on any change.