Назад | Перейти на главную страницу

Правила перезаписи Apache за прокси-сервером nginx

Я запускаю nginx (: 80) перед веб-сервером Apache (: 8080)

Конфигурация Nginx (фрагмент):

location / {
    proxy_pass        http://www.domain.tld:8080;
    proxy_set_header  X-Real-IP  $remote_addr;

Если я установлю localhost вместо www.domain.tld, мой браузер будет перенаправлен на http: // локальный: 8080.

Правила перезаписи Apache:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://%{HTTP_HOST}/$1/ [L,R=301]

RewriteCond %{REQUEST_URI} !v2/
RewriteRule ^(.*)$ v1/$1 [L]

Все идет нормально.

Однако каждая ссылка (в которой используются относительные пути) отображается как http: //www.domain.tld: 8080 / стр. вместо того, чтобы оставаться на 80-м порту.

Есть ли способ решить эту проблему с помощью правил перезаписи? Я не хочу использовать абсолютные пути.

Спасибо

Решено добавлением этого в конфигурацию nginx:

proxy_set_header Host $host; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;