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

Nginx proxy_pass в контейнер докеров wordpress

Привет, ребята, извините, если я совершаю элементарную ошибку, но я действительно потерялся здесь.

Я установил свой сервер Ubuntu 16.04 - это Nginx (не в контейнере докеров, работающий на хост-машине) и wordpress (в контейнере докеров).

Репозиторий Docker Hub Wordpress: (я не могу опубликовать более двух ссылок, но это официальное репозиторий Wordpress)

После некоторой настройки мне удалось запустить nginx и контейнер wordpress. Когда я захожу на сайт wordpress через необработанный IP-адрес и порт, он работает нормально. Однако, когда я выполняю proxy_pass из nginx в контейнер, мой веб-сайт WordPress, похоже, потерял все свои css. По иронии судьбы, страница все еще загружается.

Вот пример: (Гиперссылка на изображение)

http: // [IP-адрес]: 51080 / wp-admin / install.php

http://example.com/wp-admin/install.php

сайты-доступные

upstream example.com {
    server localhost:51080;
}

server {
    listen  80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:51080;
    }
}

команда запуска докера

docker run --name example.com -d -v /docker/example.com:/var/www/html wordpress

/ etc / hosts (Я добавил в файл следующую строку)

[IP address] example.com

Спасибо за любую помощь!

РЕДАКТИРОВАТЬ:

Запись в журнале:

<IP Address> - - [11/Mar/2017:11:33:35 -0500] "GET /wp-admin/install.php HTTP/1.1" 200 11144 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8"

Это может помочь установить некоторые заголовки, чтобы восходящий поток знал правильное имя внешнего сервера. Видеть этот документ для большего.

Например, я использую:

proxy_set_header    Host                $host;
proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
proxy_set_header    X-Forwarded-Proto   $scheme;
proxy_set_header    Accept-Encoding     "";
proxy_set_header    Proxy               "";

Также проверьте правильность настроек HOME и SITEURL. Видеть этот документ для подробностей.