Обратный прокси от Nginx до Dockerized Wordpress вызывает бесконечный цикл перенаправления - PullRequest
0 голосов
/ 07 апреля 2019

Мой веб-сайт Wordpress должен появиться в http://192.168.122.50/blog/

Я начал с создания этого блока сервера

server {
  server_name 192.168.122.50;
  listen 80;

  location /blog/ {
    proxy_pass http://localhost:8000; # My Wordpress site
  }
}

Затем я добавил две следующие строки в мой конфигурационный файл Wordpress (wp-config.php):

define( 'WP_HOME', 'http://192.168.122.50/blog/' );                                                                                  
define( 'WP_SITEURL', 'http://192.168.122.50/blog/' );   

Я продолжаю получать бесконечные циклы перенаправления на этот URL: http://192.168.122.50/blog/wp-admin/install.php

Вот HTTP-ответ, который я получаю, согласно httpie:

HTTP/1.1 302 Found
Cache-Control: no-cache, must-revalidate, max-age=0
Connection: keep-alive
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Date: Sun, 07 Apr 2019 15:13:50 GMT
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Location: http://192.168.122.50/blog/wp-admin/install.php
Server: nginx/1.12.2
X-Powered-By: PHP/7.2.17
X-Redirect-By: WordPress

Я попытался исправить эту проблему, добавив следующие строки после proxy_pass, но безрезультатно.

proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

Также я использую образ wordpress:latest Docker.

1 Ответ

0 голосов
/ 07 апреля 2019

Wordpress использует веб-сервер apache для маршрутизации запроса, поэтому я предполагаю, что вы помещаете nginx поверх стека wp-apache.

вы должны сделать это, отправляя каждый запрос, поступающий на прокси-сервер nginx, передаваемый вapache, просто используя приведенный ниже блок

server {
  server_name _;
  listen 80;
    location / {
       proxy_pass http://localhost:8000;
    }
}
...