Ngnix Proxy Configration error


Active member
on a client demand i was setting up xenforo on proxy servers . here is my setup diagram

so if anyone check Who is and dns records its display proxies ip address

DNS Records of Example .com

but when use open website works fine but when click on any url its become like instead of stay on domain link

here is my xenforo config

and here is what i see when user click on link

and here is my Apache .htaccess config :

#    Mod_security can interfere with uploading of content such as attachments. If you
#    cannot attach files, remove the "#" from the lines below.
#<IfModule mod_security.c>
#    SecFilterEngine Off
#    SecFilterScanPOST Off

ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 405 default
ErrorDocument 406 default
ErrorDocument 500 default
ErrorDocument 501 default
ErrorDocument 503 default

<IfModule mod_rewrite.c>
    RewriteEngine On

    #    If you are having problems with the rewrite rules, remove the "#" from the
    #    line that begins "RewriteBase" below. You will also have to change the path
    #    of the rewrite to reflect the path to your XenForo installation.
    #RewriteBase /xenforo

    #    This line may be needed to enable WebDAV editing with PHP as a CGI.
    #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    #Force non-www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example.\.com [NC]
RewriteRule ^(.*)$$1 [L,R=301]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]

also here is my Ngnix Proxy config

server {
 listen 80 default;
 rewrite ^ $scheme://$request_uri permanent;
 root /var/www/html;
 index index.html;

 location / {
  root /var/www/html;
  proxy_redirect off;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Server $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Please help me to fix this issue

i requested to @Brogan @MattW @ThemeHouse @Martok

Chris D

XenForo developer
Staff member
If you require a reply from a member of staff, please submit a ticket from your customer area. However, this is mostly a server configuration issue so we may be limited in the support we can provide for it.

From a XF code point of view, the particular base URL you see for links is going to be coming from what we detect the full base path as, and this comes from the variables passed by the server itself:

$host = $request->getServer('HTTP_HOST');
if (!$host)
   $host = $request->getServer('SERVER_NAME');
   $serverPort = intval($request->getServer('SERVER_PORT'));
   if ($serverPort && $serverPort != 80 && $serverPort != 443)
      $host .= ':' . $serverPort;
So it's either going to be coming from $_SERVER['HTTP_HOST'] or $_SERVER['SERVER_NAME'].

You will have to explore what configuration options there are on the server side for proxying the correct URL through the whole request.