Skip to content

pulipulichen/docker-HTTPS-Reverse-Proxy

Repository files navigation

DOI

docker-HTTPS-Reverse-Proxy: 以Nginx反向代理伺服器構成的Docker伺服器

This is a Docker server configured with an Nginx reverse proxy server, which includes built-in functionality to automatically apply for certificates from Let's Encrypt, allowing it to add HTTPS protocol to backend servers.

這是一個以Nginx反向代理伺服器構成的Docker伺服器,並且內建了自動跟Let's Encrypt申請憑證的功能,能夠為後端伺服器加上HTTPS協定。

Techniques

  • Docker 虛擬化技術
  • Nginx 網頁伺服器兼反向代理伺服器
  • certbot 憑證申請工具

Features

  • Reverse proxy: Setup a frontend before your real server.
  • Loading balancing: You can server multiple backends with a domain name.
  • Proxy cache and gzip compression: JavaScript, CSS, images, audio and video files will be cached and compressed automatically.
  • Avoid server header information disclosure. Headers like "Server" and "X-Powered-By" will be removed automatically. Error page is also customised to hide the server information.
  • Request limitation by IP address and short time brust: Prevent DDoS.
  • SSL certicate request and renew automatically.
  • Virtual host: support Apache VirtualHost backends.

How to Use

  1. git clone https://github.com/pulipulichen/docker-HTTPS-Reverse-Proxy.git
  2. Set up configuration in /conf/backends.yml.
  3. ./startup.sh .

Configuration

  • ./docker-compose.yml
  • ./conf/nginx/conf.template
  • ./conf/nginx/http-server.template
  • ./conf/nginx/https-server.template
  • ./conf/nginx/server.template

YAML Playground

https://eemeli.org/yaml-playground/

Citation

Chen, Y.-T. (2024). Docker-HTTPS-Reverse-Proxy (20240518.202242) [Computer software]. Zenodo. https://doi.org/10.5281/ZENODO.11214011

About

This is a Docker server configured with an Nginx reverse proxy server, which includes built-in functionality to automatically apply for certificates from Let's Encrypt, allowing it to add HTTPS protocol to backend servers.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors