Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/micoli/frp-ssl-proxy
FRP HTTPS let's encrypt reverse proxy
https://github.com/micoli/frp-ssl-proxy
docker frp nodejs reverse-proxy tunnel-server
Last synced: 9 days ago
JSON representation
FRP HTTPS let's encrypt reverse proxy
- Host: GitHub
- URL: https://github.com/micoli/frp-ssl-proxy
- Owner: micoli
- Created: 2021-05-28T17:38:55.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-05-31T11:52:00.000Z (over 3 years ago)
- Last Synced: 2024-07-26T22:52:25.514Z (4 months ago)
- Topics: docker, frp, nodejs, reverse-proxy, tunnel-server
- Language: JavaScript
- Homepage:
- Size: 118 KB
- Stars: 9
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FRP SSL proxy
## What is FRP-SSL-Proxy
FRP SSL proxy is a plugin to [Fast Reverse Proxy](https://github.com/fatedier/frp).
It is listening for new client tunnel connection from FRP client, get associate certificates from Let'sEncrypt and expose secured URL of tunnel.
A local store keep trace of previous client hosts and certificates.
It's base on [RedBird](https://github.com/OptimalBits/redbird) NodeJS reverse proxy and is freely inspired by [ACMEProxy](https://github.com/lukacu/docker-frps).
## Architecture
![Diagram](./doc/diagram.png)
## Example
In `example` folder, you can find a `docker-compose.yml` of a tunnel server and a `frp.ini` for client side configuration`
## Configuration
FRP Let's Encrypt proxy has the following available environment variables
| Variable Name | Purpose | Default value |
| --- | --- | --- |
| FRP_SSL_PROXY_EMAIL | LetsEncrypt email| [email protected] |
| FRP_SSL_PROXY_PRODUCTION | LetsEncrypt production flag | false |
| FRP_SSL_PROXY_HTTP_PORT | Exposed Http port, used by let's encrypt challenge resolution| 80 |
| FRP_SSL_PROXY_HTTPS_PORT | Exposed Https port, used by tunnels | 443 |
| FRP_SSL_PROXY_LETSENCRYPT_PORT | internal let's encrypt port| 9999 |
| FRP_SSL_PROXY_SUBDOMAIN_HOST | Main frp server domain| tunnel.example.com |
| FRP_SSL_PROXY_PROXY_TARGET | Internal FRP server host, used by https->http reverse proxy | http://frp-server:80 |
| FRP_SSL_PROXY_API_HTTP_PORT | Internal FRP let's encrypt proxy api, used by FRP server on new conection | 9002 |
| FRP_SSL_PROXY_X_FORWARD | X-Forward header flag, used by RedBird| true |