Using CentOS 6 I installed Nginx with:
yum install nginx
and amended the config file for the default website i.e.
vi /etc/nginx/conf.d/default.conf
With the following content:
upstream backend_st { server st.domain.co.uk:80; } server { listen 123.123.123.123:8080; server_name frontend.domain.co.uk; include /etc/nginx/default.d/*.conf; access_log /var/log/nginx/log/lamp.eeecs.qub.ac.uk.access.log main; error_log /var/log/nginx/log/lamp.eeecs.qub.ac.uk.error.log; root /usr/share/nginx/html; index index.html index.htm; location / { proxy_pass http://backend_st; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_buffering off; proxy_set_header host "st.domain.co.uk:80"; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } }
So visiting the web address frontend.domain.co.uk:8080 as configured under the ‘server’ section will proxy the website from st.domain.co.uk:80
Advice on the web specified using $host or configuring the proxy_set_header:
proxy_set_header Host $host;
However, when proxying IIS I found that I needed to actually enter the hostname rather than a variable.