I am having 3 Server: A, B, C. Details are:
- Server A: NGINX Server, URL: https://test1.example.com
- Server B: NGINX Server hosting NodeJS Web Application, URL: http://test2.example.com
- Server C: Apache2 Server hosting Django Web Application, URL: http://test3.example.com
Server A(NGINX Server) is front facing public facing server acting as load balancer using proxy_pass. Server B(NGINX Server) is having a form and submitting it through POST request to Server C(UWSGI Django Server using Apache2). The request is from Server B with url: https://test1.example.com/register to Server C but Server A is converting it to GET request.
So I am getting 2 request log one with POST and other with GET with same path "/register"
The setup is depicted in figure (Diagram is at the end of the post).
The configuration is as follows:
Server A:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name test1.example.com;
ssl_certificate /etc/ssl/test1/test1.example.com.crt;
ssl_certificate_key /etc/ssl/test1/test1.example.com.key;
# Proxy/Loadbalancer configuration`
# Testing the request`
location / {
proxy_pass http://test2.example.com;
}
location /register/{
proxy_pass http://test3.example.com;
}
}
Server B:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm;
server_name test2.example.com;
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.html;
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}
Server C:
<VirtualHost *:80>
ServerName test3.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/test
Alias /static/ /var/www/test/webapp/static/
Alias /media/ /var/www/test/media/
WSGIScriptAlias / /var/www/test/webapp/wsgi.py
WSGIDaemonProcess cdac.in python-path=/var/www/test \
python-home=/var/www/test/venv processes=5 threads=8
WSGIProcessGroup cdac.in
<Directory /var/www/test/webapp/>
Options -Indexes
Order deny,allow
Allow from all
Require all granted
</Directory>
LogLevel info
# PROJECT_NAME is used to separate the log files of this application
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
Where am I going wrong.