Nginx: 564 цикла перезаписи или внутреннего перенаправления при внутреннем перенаправлении на «/index.php «

#docker #nginx #phpmyadmin #docker-container

#docker #nginx #phpmyadmin #docker-контейнер

Вопрос:

Я пытаюсь разместить phpmyadmin с помощью контейнера docker на сервере Nginx.

Я развернул новый контейнер в приложении phpMyAdmin на порту 8010. Локально я могу получить это с помощью localhost:8010

Теперь я хочу предоставить его внешнему слову, чтобы я мог просматривать его с помощью adminusa.mydomain.com .

Я создаю новый файл виртуального хоста, вызываемый /etc/nginx/sites-enabled/adminusa.myadmin.com со следующей конфигурацией

 server {
    listen 80;
    server_name adminusa.myadomain.com;

    return 301 https://adminusa.myadomain.com$request_uri;
}

server {
    listen 443 ssl;
    server_name adminusa.myadomain.com;

    root /var/www/html;

    ssl_certificate       /etc/ssl/certs/adminusa.myadomain.com.crt;
    ssl_certificate_key   /etc/ssl/certs/adminusa.myadomain.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    access_log off;

    error_log /var/log/nginx/adminusa.myadomain.com-error.log;

    index index.html index.php;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
        proxy_pass http://localhost:8010;
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  

Когда я просматриваю веб-сайт с помощью adminusa.mydomain.com , я получаю белую страницу. В журналах ошибок я вижу следующую ошибку

3164 # 3164: * 564 цикла перезаписи или внутреннего перенаправления при внутреннем перенаправлении на «/index.php «, клиент: 24.253.105.19, сервер: adminusa.mydomain.com , запрос: «ПОЛУЧИТЬ /index.php HTTP/1.1», хост: «adminusa.mydomain.com «

Что вызывает эту ошибку? Как я могу это исправить?

Комментарии:

1. удалите try_files инструкцию. Использование try_files и proxy_pass в том же location самом имеет мало смысла в любом случае.

2. @RichardSmith спасибо! Я удалил try_files , но все еще получаю пустую белую страницу. На этот раз я вижу другое сообщение в файле журнала *610 SSL_do_handshake() failed (SSL: error:1420918C:SSL routines:tls_early_post_process_client_hello:version too low) while SSL handshaking, client: MyIpAddress, server: 0.0.0.0:443