From f8c551c50bcf91fa7bea157beed53a3f6ed1b03f Mon Sep 17 00:00:00 2001 From: H4CK3R-01 Date: Thu, 16 Mar 2023 08:22:36 +0100 Subject: [PATCH] Added reverse proxy Dockerfile --- .woodpecker.yml | 20 +++++++++++++++++++- Dockerfile.Proxy | 2 ++ proxy/nginx.conf | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 Dockerfile.Proxy create mode 100644 proxy/nginx.conf diff --git a/.woodpecker.yml b/.woodpecker.yml index 1b343f0..d7d6c83 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -4,7 +4,7 @@ pipeline: commands: - echo -n "${CI_COMMIT_BRANCH//\//-}-${CI_COMMIT_SHA:0:8}, latest" > .tags when: - path: [ "frontend/**", "backend/**" ] + path: [ "frontend/**", "backend/**", "proxy/**" ] event: push @@ -45,4 +45,22 @@ pipeline: path: "frontend/**" event: push + # -------------------------------------- Frontend -------------------------------------- + build_proxy: + image: woodpeckerci/plugin-docker-buildx + settings: + repo: + from_secret: repository_proxy + username: + from_secret: registry_username + password: + from_secret: registry_password + registry: + from_secret: registry + dockerfile: Dockerfile.Proxy + platforms: linux/amd64 + when: + path: "proxy/**" + event: push + branches: main diff --git a/Dockerfile.Proxy b/Dockerfile.Proxy new file mode 100644 index 0000000..b09492d --- /dev/null +++ b/Dockerfile.Proxy @@ -0,0 +1,2 @@ +FROM jonasal/nginx-certbot:latest +COPY proxy/* /etc/nginx/conf.d/ \ No newline at end of file diff --git a/proxy/nginx.conf b/proxy/nginx.conf new file mode 100644 index 0000000..e19f6cb --- /dev/null +++ b/proxy/nginx.conf @@ -0,0 +1,42 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + # HTTPS server configuration + server { + listen 443 ssl; + server_name translator.dhbw.flokaiser.com; + + ssl_certificate /etc/nginx/certs/cert.pem; + ssl_certificate_key /etc/nginx/certs/key.pem; + + location / { + # Forward requests to port 80 + proxy_pass http://frontend:80/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + } + + location /api { + # Forward requests to port 80 + proxy_pass http://backend:80/api/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + } + } + + # HTTP server configuration + server { + listen 80; + server_name translator.dhbw.flokaiser.com; + + return 301 https://$server_name$request_uri; + } +} \ No newline at end of file