Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- worker_processes 1;
- events { worker_connections 1024; }
- http {
- sendfile on;
- server {
- deny all;
- }
- upstream myhomepage {
- server myhomepage_blog:80;
- }
- upstream docker-apache {
- server apache:80;
- }
- server {
- listen 80;
- listen [::]:80;
- server_name www.myhomepage.com myhomepage.com;
- return 302 https://$server_name$request_uri;
- }
- server {
- listen 443 ssl;
- listen [::]:443;
- server_name www.myhomepage.com myhomepage.com;
- ssl_certificate /etc/letsencrypt/live/myhomepage.com/fullchain.pem;
- ssl_certificate_key /etc/letsencrypt/live/myhomepage.com/privkey.pem;
- location /.well-known {
- root /var/www/ssl-proof/myhomepage.com/;
- }
- location / {
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_set_header X-Forwarded-Port $server_port;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://myhomepage;
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
- proxy_read_timeout 900s;
- }
- }
- server {
- listen 80;
- server_name www.myotherhomepagewithoutssl.com myotherhomepagewithoutssl.com;
- location / {
- proxy_pass http://docker-apache;
- proxy_redirect off;
- 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-Host $server_name;
- }
- }
- }
- FROM nginx:alpine
- COPY nginx.conf /etc/nginx/nginx.conf
- RUN mkdir -p /var/www/ssl-proof/myhomepage.com/.well-known
- RUN apk update && apk add certbot
- version: '3.3'
- services:
- reverseproxy:
- image: reverseproxy
- ports:
- - 80:80
- restart: always
- volumes:
- - proxy_letsencrypt_ssl_proof:/var/www/ssl-proof
- - proxy_letsencrypte_certificates:/etc/letsencrypt
- apache:
- depends_on:
- - reverseproxy
- image: httpd:alpine
- restart: always
- myhomepage_blog:
- image: wordpress
- links:
- - myhomepage_db:mysql
- environment:
- - WORDPRESS_DB_PASSWORD=somepassword
- - VIRTUAL_HOST=myhomepage.com
- volumes:
- - myhomepage_code:/code
- - myhomepage_html:/var/www/html
- restart: always
- myhomepage_db:
- image: mariadb
- environment:
- - MYSQL_ROOT_PASSWORD=somepassword
- - MYSQL_DATABASE=wordpress
- volumes:
- - myhomepage_dbdata:/var/lib/mysql
- restart: always
- volumes:
- myhomepage_dbdata:
- myhomepage_code:
- myhomepage_html:
- proxy_letsencrypt_ssl_proof:
- proxy_letsencrypte_certificates:
- #!/bin/bash
- docker rm testreverseproxy_apache_1 testreverseproxy_myhomepage_blog_1 testreverseproxy_myhomepage_db_1 testreverseproxy_reverseproxy_1
- docker build -t reverseproxy -f reverse_proxy.docker .
- docker-compose -f reverse_proxy_compose.yml up
Add Comment
Please, Sign In to add comment