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

nginx proxy_pass и docker - мне не нужен номер порта в адресной строке

На mywebsite.com у меня запущен контейнер докеров с wordpress. Я начал как

docker run -p 8000:80 --name docker-wordpress-nginx -d 

и

docker ps

показывает

0.0.0.0:8000->80/tcp

и на моем хосте у меня работает nginx с

server {
     listen   80;
...
server_name mywebsite.com www.mywebsite.com;
...
location / {
             proxy_pass http://localhost:8000/;
             proxy_set_header Host $host;
    }

когда я пойду сюда

mywebsite.com

Он выводит индексную страницу моего сайта в wordpress, но адрес в браузере теперь

mywebsite.com:8000

вместо того

mywebsite.com

чего я ожидал. Все выглядит так, как я хотел, за исключением того, что я всегда получаю этот номер порта в адресе

http://mywebsite.com:8000/2015/08/01/hello-world/

Вместо этого я хотел

http://mywebsite.com/2015/08/01/hello-world/

я имею в виду, в общем, вместо

http://mywebsite.com:8000/some_blog/

я хочу

http://mywebsite.com/some_blog/

Любые идеи?

Вам необходимо настроить URL-адрес вашего сайта Wordpress в свой. Читать Изменение URL-адреса сайта.

Одно из решений - модифицированное ваше wp-config.php файл. Добавьте / замените следующую конфигурацию:

define('WP_HOME','http://mywebsite.com');
define('WP_SITEURL','http://mywebsite.com');

Если у вас нет другого сайта в порту 80, вы можете просто выставить свой порт 80 в порт Wordpress.