NGINX / Server Setup

Proxy requests to any remote server in nginx

by , , revisited on

We have by far the largest RPM repository with NGINX module packages and VMODs for Varnish. If you want to install NGINX, Varnish, and lots of useful performance/security software with smooth yum upgrades for production use, this is the repository for you.
Active subscription is required.

It’s easy to display third party content on your own website through nginx proxying.

The following will allow to see contents of https://example.com/api/v1/time at https://yours.example.com/proxy/https/example.com/api/v1/time:

location ~* ^/proxy/(?<pschema>https?)/(?<phost>[\w.]+)(?<puri>/.*) {
    set $adr $pschema://$phost;
    rewrite .* $puri break;

    proxy_pass $adr;

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $phost;
    proxy_set_header X-NginX-Proxy true;
    proxy_redirect off;
    proxy_connect_timeout 1;
    proxy_intercept_errors on;
    expires 30;
  1. Alexandre Carvalho

    Hi, How do I configure properly nginx to get that config working? I’m trying to put that inside a server:

    server {
            listen 80 default_server;
            listen [::]:80 default_server;
            server_name _;
        # YOUR CODE HERE

    And is not working. What am I doing wrong?

    • Danila Vershinin

      Start with checking configuration errors by running nginx -t . Then, if no errors reported, explain how specifically it’s not working (what URL in your nginx you request).


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: