Когда я ставлю
proxy_set_header Host $host;
в папке location / wordpress / в моем nginx.conf-файле я получаю рабочие URL-адреса Wordpress, кроме админ-панели, где / wordpress / удаляется из URL-адресов, что делает все ссылки в админ-панели неработоспособными.
Если я удаляю proxy_set_header Host $ host;, я получаю нерабочие URL-адреса Wordpress, но работающую админ-панель.
Я запускаю установку Wordpress с интерфейсом NextJs с docker-compose и обратным прокси-сервером nginx перед ним. Мне нужны как рабочие URL-адреса WordPress, так и панель администратора, потому что мне нужен доступ к RSS-каналу (/ feed-url, который не работает, когда я выполняю proxy_set_header-thing).
Мой блок местоположения в nginx-conf:
location /wordpress/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://IP-TO-WORDPRESS:8000/;
# proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
Пытались
- добавление и удаление proxy_set_header Host $ host,
- добавление специального блока местоположения для wp-admin (/ wordpress / wp-admin - не работает)
- изменение URL-адреса proxy_pass
- изменение siteurl и home в wp_options в базе данных WordPress MySQL
Весь Nginx.conf:
events {
worker_connections 1024;
# worker_processes and worker_connections allows you to
calculate maxclients value:
# max_clients = worker_processes * worker_connections
}
http{
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
return 301 https://$host$request_uri;
}
# HTTPS ?~@~T proxy all requests to the Node app
server {
# Enable HTTP/2
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name SERVER-NAME.no;
# Use the Let?~@~Ys Encrypt certificates
ssl_certificate /etc/letsencrypt/live/SERVER-
NAME.no/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/SERVER-
NAME.no/privkey.pem;
# Include the SSL configuration from cipherli.st
include snippets/ssl-params.conf;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:82/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
location = /wordpress {
return https://SERVER-NAME.no/NEXT-JS-BLOG-PAGE;
}
location /wordpress/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://IP.TO-WORDPRESS:8000/;
# proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
Ожидаемое:
Я ожидаю, что URL будут работать как в админ-панели WordPress, так и для постов WordPress и RSS-канала. Это не тот случай.
Пожалуйста, помогите, потому что я совершенно заблудился.