All Projects → artyom → leproxy

artyom / leproxy

Licence: MIT License
https reverse proxy with automatic Letsencrypt usage for multiple hostnames/backends

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to leproxy

mps
MPS is a high-performance HTTP(S) proxy library that supports forward proxies, reverse proxies, man-in-the-middle proxies, tunnel proxies, Websocket proxies. MPS 是一个高性能HTTP(s)中间代理库,它支持正向代理、反向代理、中间人代理、隧道代理、Websocket代理
Stars: ✭ 64 (-28.09%)
Mutual labels:  https-proxy, reverse-proxy
Bunkerized Nginx
🛡️ Make your web services secure by default !
Stars: ✭ 2,361 (+2552.81%)
Mutual labels:  letsencrypt, reverse-proxy
Goproxy
🔥 Proxy is a high performance HTTP(S) proxies, SOCKS5 proxies,WEBSOCKET, TCP, UDP proxy server implemented by golang. Now, it supports chain-style proxies,nat forwarding in different lan,TCP/UDP port forwarding, SSH forwarding.Proxy是golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持内网穿透,链式代理,通讯加密,智能HTTP,SOCKS5代理,黑白名单,限速,限流量,限连接数,跨平台,KCP支持,认证API。
Stars: ✭ 11,334 (+12634.83%)
Mutual labels:  https-proxy, reverse-proxy
Traefik
The Cloud Native Application Proxy
Stars: ✭ 36,089 (+40449.44%)
Mutual labels:  letsencrypt, reverse-proxy
roxy
Roxy the Frontend Proxy
Stars: ✭ 52 (-41.57%)
Mutual labels:  letsencrypt, reverse-proxy
docker-ssl-reverse-proxy
Easy-to-use auto-SSL reverse proxy as a Docker container based on Caddy and Let’s Encrypt
Stars: ✭ 22 (-75.28%)
Mutual labels:  letsencrypt, reverse-proxy
Ssl Proxy
🔒 Simple zero-config SSL reverse proxy with real autogenerated certificates (LetsEncrypt, self-signed, provided)
Stars: ✭ 427 (+379.78%)
Mutual labels:  letsencrypt, reverse-proxy
httpsify
a transparent HTTPS termination proxy using letsencrypt with auto certification renewal
Stars: ✭ 107 (+20.22%)
Mutual labels:  letsencrypt, reverse-proxy
PuppyProxy
A simple HTTP proxy in C# including support for HTTP CONNECT tunneling
Stars: ✭ 37 (-58.43%)
Mutual labels:  reverse-proxy, https-server
gorift
A toolkit for reverse proxy and load balancer
Stars: ✭ 20 (-77.53%)
Mutual labels:  reverse-proxy
docker-mail-server
Ansible playbooks to deploy a full featured mail server stack using Docker.
Stars: ✭ 47 (-47.19%)
Mutual labels:  letsencrypt
hyper-reverse-proxy
A simple reverse proxy for use with Hyper and Tokio
Stars: ✭ 94 (+5.62%)
Mutual labels:  reverse-proxy
opennotr
开源内网穿透,Open source NAT traversal (http://www.notr.tech)
Stars: ✭ 33 (-62.92%)
Mutual labels:  reverse-proxy
yaac
Yet another ACME client: a decoupled LetsEncrypt client
Stars: ✭ 138 (+55.06%)
Mutual labels:  letsencrypt
go-reverse-proxy
Reverse proxy with simple routing configuration and override behaviour
Stars: ✭ 21 (-76.4%)
Mutual labels:  reverse-proxy
go-oryx-lib
The public multiple media library for https://github.com/ossrs/go-oryx.
Stars: ✭ 98 (+10.11%)
Mutual labels:  https-server
Pummel
Socks5 Proxy HTTP/HTTPS-Flooding (cc) attack
Stars: ✭ 53 (-40.45%)
Mutual labels:  https-proxy
composer-velocita
Velocita - Composer plugin for transparent caching
Stars: ✭ 26 (-70.79%)
Mutual labels:  reverse-proxy
ght-acme.sh
Shell script to sign certificate by the letsencrypt CA
Stars: ✭ 31 (-65.17%)
Mutual labels:  letsencrypt
letsencrypt-lighttpd
Renew your let's encrypt certificates monthly, using lighttpd as webserver.
Stars: ✭ 66 (-25.84%)
Mutual labels:  letsencrypt

Command leproxy implements https reverse proxy with automatic Letsencrypt usage for multiple hostnames/backends

Install:

go get github.com/artyom/leproxy	

Run:

leproxy -addr :https -map /path/to/mapping.yml -cacheDir /path/to/letsencrypt

mapping.yml contains host-to-backend mapping, where backend can be specified as:

  • http/https url for http(s) connections to backend without passing "Host" header from request;
  • host:port for http over TCP connections to backend;
  • absolute path for http over unix socket connections;
  • @name for http over abstract unix socket connections (linux only);
  • absolute path with trailing slash to serve files from given directory.

Example:

subdomain1.example.com: 127.0.0.1:8080
subdomain2.example.com: /var/run/http.socket
subdomain3.example.com: @abstractUnixSocket
uploads.example.com: https://uploads-bucket.s3.amazonaws.com
static.example.com: /var/www/

Note that when @name backend is specified, connection to abstract unix socket is made in a manner compatible with some other implementations like uWSGI, that calculate addrlen including trailing zero byte despite documentation not requiring that. It won't work with other implementations that calculate addrlen differently (i.e. by taking into account only strlen(addr) like Go, or even UNIX_PATH_MAX).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].