Nginx ERR_TOO_MANY_REDIRECTS ajustando los enlaces permanentes de WordPress | Error 301 Ubuntu 18.04

Nginx ERR_TOO_MANY_REDIRECTS ajustando los enlaces permanentes de WordPress | Error 301 Ubuntu 18.04
  • SO: Ubuntu 18.04.5 LTS (teniendo mi propio VPS)
  • Servidor web: Nginx/1.18.0
  • MySQL: mysql Ver 8.0.22 para Linux en x86_64 (Servidor comunitario MySQL - GPL)
  • WordPress: 5.6

Cuando cambio elEnlaces permanentesopción en WordPress (Captura de pantalla:/wp-admin/opciones-permalink.php) del valor predeterminado (?p=123) a/%Nombre del puesto%/(la última opción en la página) me sale el siguiente error:"ERR_TOO_MANY_REDIRECTS"con código de estado301 sólo para la página de inicio (tan directamente ejemplo.com), todas las demás páginas funcionan perfectamente, incluso la nueva opción de enlace permanente funciona correctamente, de modo que se puede acceder al blog predeterminado mediante:/Hola Mundo/directamente.

¿Alguna idea de por qué? Esto fue lo último que hice para que mi servidor estuviera terminado, pasé más tiempo en este pequeño error que en todo lo demás jajaja.Nota: He deshabilitado todos los complementos excepto el caché nginx que uso para borrar el almacenamiento en caché del lado del servidor. También visito el sitio web de incógnito.

Seguí este tutorial:SpinUp WP (hice todo hasta CH6 inclusive). Por la presente mi configuración de NGINX:

Archivo de configuración NGINX(He cambiado el nombre de usuario a omar, por motivos de privacidad):

user omar;
worker_processes 6;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 1024;
        multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        keepalive_timeout 15;
        types_hash_max_size 2048;
        server_tokens off;
        client_max_body_size 64m;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;
        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;


        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;

        # gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 5;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # Cache Settings
        ##
        fastcgi_cache_key "$scheme$request_method$host$request_uri";
        add_header Fastcgi-Cache $upstream_cache_status;


        ##
        # Security
        ##
        add_header Content-Security-Policy "default-src 'self' https: data: 'unsafe-inline' 'unsafe-eval';" always;
        add_header X-Xss-Protection "1; mode=block" always;
        add_header X-Frame-Options "SAMEORIGIN" always;
        add_header X-Content-Type-Options "nosniff" always;
        add_header Referrer-Policy "origin-when-cross-origin" always;



        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
        server {
            listen 80 default_server;
            listen [::]:80 default_server;
            server_name _;
            return 444;
        }
}

Archivo de configuración de example.com(He cambiado el nombre de usuario a omar y el dominio a ejemplo.com, por motivos de privacidad):

fastcgi_cache_path /home/omar/example.com/cache levels=1:2 keys_zone=example.com:100m inactive=60m;

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

access_log /home/omar/example.com/logs/access.log;
error_log /home/omar/example.com/logs/error.log;

root /home/omar/example.com/public/;
index index.php;

set $skip_cache 0;
# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}

# Don't cache uris containing the following segments
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
set $skip_cache 1;
}

# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
set $skip_cache 1;
}

if ($request_uri ~* "/(cart|checkout|my-account)/*$")
{
set $skip_cache 1;
}

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_cache example.com;
fastcgi_cache_valid 60m;
}
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name www.example.com;;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

return 301 https://example.com$request_uri;
}

server {
listen 80;
listen [::]:80;

server_name example.com www.example.com;;

return 301 https://example.com$request_uri;
}

Si necesito más cosas para mostrar solo dímelo, mostraré más.

Respuesta1

Alhamdulillah, encontré la respuesta. Todo se debió a que intentaba ser un musulmán perfeccionista, tenía letras mayúsculas en la URL interior:/wp-admin/opciones-general.php. Todas las alabanzas a Dios (Alhamdulillah), resueltas, poniendo todas las letras en minúsculas. Con la voluntad de Dios (in shaa Allah), os ayudará a vosotros, hermanos y no hermanos.

información relacionada