Proxying
A reverse proxy server is a type of proxy server that sits behind the firewall in a private network and directs client requests to the appropriate backend server. A reverse proxy provides additional level of abstraction and control in order to ensure smooth flow of network traffic between clients and servers.
You may want to use reverse proxy for TLS termination, caching and compressing content, or some other purpose.
Here is an example of Nginx configuration file:
server {
listen 443 ssl;
server_name <your_adcm_domain>;
ssl_certificate example.crt;
ssl_certificate_key example.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
access_log /var/log/nginx/adcm.access.log;
client_max_body_size 60M; # used to increase size of an uploaded file. Size by default is 1MB
location / {
proxy_pass http://<ip_adcm>:<port_adcm>;
proxy_read_timeout 90;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location /ws { # used for proxying websocket API
proxy_pass http://<ip_adcm>:<port_adcm>;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}