Рейтинг:0

сообщение wordpress, URL-адрес страницы перенаправляется на локальное имя хоста контейнера докеров proxy_pass на nginx

флаг cn

Я успешно настроил сайт WordPress, работающий на докеризованном nginx. Когда сайт WordPress запущен и работает, я могу перейти на домашнюю страницу: https://мой_домен.com или любые ссылки или на wp-админ/...(после входа в /wp-логин.php который доступен) без каких-либо проблем.

Но когда я иду в https://мой_домен.com/пример-страницы или же https://мой_домен.com/post-id или же /wp-админ(если не залогинился) сразу перенаправляет на proxy_pass http://wordpress_host:80(устанавливается в файле конфигурации nginx), что не может быть правильным, он должен https://мой_домен.com/post-id в браузере клиента.

браузер клиента неверный URL

с маршрутом /вп-админ/ перед входом в систему, если я добавлю index.php к /wp-admin/index.php работает а без него нет

Вот мой конфиг nginx:

сервер {
    слушать 80;
    слушать [::]:80;
    имя_сервера мой_домен.com www.мой_домен.com;

    место расположения / {
        вернуть 301 https://my_domain.com$request_uri;
    }
}


сервер {
    слушать 443 ssl http2;
    имя_сервера мой_домен.com www.мой_домен.com;

    SSL включен;
    server_tokens отключены;
    ssl_certificate /etc/nginx/ssl/live/my_domain.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/live/my_domain.com/privkey.pem;
    ssl_dhparam /etc/nginx/dhparam/dhparam-2048.pem;

    ssl_buffer_size 8k;
    ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
    ssl_prefer_server_ciphers включен;
    ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

    add_header X-Frame-Options «SAMEORIGIN» всегда;
    add_header X-XSS-Защита "1; режим = блок" всегда;
    add_header X-Content-Type-Options «нюхать» всегда;
    add_header Referrer-Policy «без реферера при понижении» всегда;
    add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'" всегда;
    # add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
    # включайте строгую транспортную безопасность, только если вы понимаете последствия


    место расположения / {
          try_files $uri $uri/ /index.php$is_args$args;

          proxy_pass http://wordpress_host:80; 
          proxy_set_header X-Real-IP $remote_addr; 
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

          proxy_redirect http://wordpress_host:80 https://my_domain.com/;
          proxy_cookie_domain http://wordpress_host:80 my_domain.com;
          proxy_set_header X-Forwarded-Proto https;
    }

    расположение ~ \.php$ {
          try_files $uri =404;
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          proxy_pass http://wordpress_host:80;
          fastcgi_index index.php;
          включить fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_param PATH_INFO $fastcgi_path_info;

          proxy_set_header X-Real-IP $remote_addr; 
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

          proxy_redirect http://wordpress_host:80 https://my_domain.com/;
          proxy_cookie_domain http://wordpress_host:80 my_domain.com;
          proxy_set_header X-Forwarded-Proto https;
    }

    местоположение ~ /\.ht {
          отрицать все;
    }
        
    местоположение = /favicon.ico { 
          log_not_found выключен; доступ_лог выключен; 
    }

    местоположение = /robots.txt { 
          log_not_found выключен; доступ_лог выключен; позволять все; 
    }

    расположение ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
          истекает макс.;
          log_not_found выключен;
    }
}

Я также настраиваю в wp-config.php:

определить('FORCE_SSL_ADMIN', правда); 

если ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') 
$_SERVER['HTTPS']='включено';

определить('WP_SITEURL', 'https://www.my_domain.com/');
определить('WP_HOME', 'https://www.my_domain.com/');
Kim Mỹ avatar
флаг cn
с маршрутом `/wp-admin/`, если я добавляю `index.php` к `/wp-admin/index.php`, он работает, а без него нет
Kim Mỹ avatar
флаг cn
комментарий к сценарию выше - это когда /wp-admin перед входом в систему.
Рейтинг:0
флаг us

Вы установили свой АДРЕС САЙТА с www префикс. Это соответствует только запросам, которые имеют www префикс.

Вы должны сделать 301 редирект с my.example.com к www.my.example.com в nginx, чтобы все запросы правильно направлялись в WordPress.

Ответить или комментировать

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