From 77c68f4dd5bb1405d098f0ef0038103956ee811b Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 23 Jul 2019 17:07:19 +0200 Subject: [PATCH] tried reverse proxying with nginx to get around cross domain security problemen with basex, not working --- Docker/nginx/Dockerfile | 7 ++++++ Docker/nginx/bashrc | 3 +++ Docker/nginx/default.conf | 49 +++++++++++++++++++++++++++++++++++++++ Docker/nginx/index.html | 13 +++++++++++ Docker/nginx/inputrc | 2 ++ docker-compose.yml | 23 ++++++++++++++++++ 6 files changed, 97 insertions(+) create mode 100644 Docker/nginx/Dockerfile create mode 100644 Docker/nginx/bashrc create mode 100644 Docker/nginx/default.conf create mode 100644 Docker/nginx/index.html create mode 100644 Docker/nginx/inputrc diff --git a/Docker/nginx/Dockerfile b/Docker/nginx/Dockerfile new file mode 100644 index 0000000..ad7f2c1 --- /dev/null +++ b/Docker/nginx/Dockerfile @@ -0,0 +1,7 @@ +FROM nginx:latest + +COPY ./bashrc /root/.bashrc +COPY ./inputrc /root/.inputrc +COPY ./index.html /var/www/html/index.html +# COPY ./default.conf /etc/nginx/conf.d/default.conf +COPY ./default.conf /etc/nginx/nginx.conf diff --git a/Docker/nginx/bashrc b/Docker/nginx/bashrc new file mode 100644 index 0000000..74d78f9 --- /dev/null +++ b/Docker/nginx/bashrc @@ -0,0 +1,3 @@ +PS1='\e[36m\e[1mNGINX\e[0m:\e[90m\w\e[0m\n$ ' +bind '"\e[A": history-search-backward' +bind '"\e[B": history-search-forward' diff --git a/Docker/nginx/default.conf b/Docker/nginx/default.conf new file mode 100644 index 0000000..73e94f1 --- /dev/null +++ b/Docker/nginx/default.conf @@ -0,0 +1,49 @@ +worker_processes 1; + +events { worker_connections 1024; } + +http { + upstream docker-api { + server basex:8984; + } + upstream docker-client { + server client:8988; + } + + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + 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; + + server { + listen 80; + root /var/www/html; + index index.html; + charset utf-8; + server_name dev.gdp.fr; + + access_log on; + error_log /var/log/nginx/error.log error; + + sendfile off; + + client_max_body_size 100m; + + location / { + try_files $uri $uri/ index.html; + } + + location /api { + rewrite ^/api/(.*) /$1 break; + proxy_redirect off; + proxy_pass http://docker-api; + } + + location /client { + rewrite ^/client/(.*) /$1 break; + proxy_redirect off; + proxy_pass http://docker-client; + } + } +} diff --git a/Docker/nginx/index.html b/Docker/nginx/index.html new file mode 100644 index 0000000..ec58245 --- /dev/null +++ b/Docker/nginx/index.html @@ -0,0 +1,13 @@ + + + + + Proxy + + + + + diff --git a/Docker/nginx/inputrc b/Docker/nginx/inputrc new file mode 100644 index 0000000..db8d91d --- /dev/null +++ b/Docker/nginx/inputrc @@ -0,0 +1,2 @@ +set show-all-if-ambiguous on +set completion-ignore-case on diff --git a/docker-compose.yml b/docker-compose.yml index a1c9621..eb348f5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,6 +12,8 @@ services: - 1984:1984 - 8984:8984 working_dir: "/srv/basex" + networks: + - api client: build: ./Docker/client @@ -23,7 +25,28 @@ services: working_dir: "/app" depends_on: - basex + networks: + - client + + nginx: + build: ./Docker/nginx/ + ports: + - 8999:80 + volumes: + - "${LOG_ROOT}:/var/log:rw" + # working_dir: "/var/www/html" + depends_on: + - basex + - client + networks: + - api + - client + volumes: basex-home: # client-home: + +networks: + api: + client: