• добрый день!
    Подскажите, использую nginx. Перевел сайт на https и стала открываться только админка. Находил на форуме решение, если не ошибаюсь правка файла function.php где отключалась проверка заголовков и сайт начал нормально работать.
    Пришлось откатиться на резервную копию где еще нет этих правок и найти тоже уже не могу.
    Может кто подскажет?

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Попробуйте добавить в wp-config.php строку для корректной работы функции is_ssl():

    
    $_SERVER['HTTPS'] = 1;
    

    к сожалению нет, не работает.

    Проблема в том, что HTTPS запрос принимает Nginx, а далее я так понимаю пересылает его в Apache уже через HTTP. Из-за этого и происходит зацикливание. Но как сделать??? пока вообще в голову не приходит

    Модератор Юрий

    (@yube)

    Но как сделать???

    Сергей же написал.
    Вставлять где-то до require_once(ABSPATH . 'wp-settings.php');
    И в настройках обязательно надо поменять http на https.
    И все остальное, но это уже потом.

    Да, эту запись обязательно надо добавлять, можно прямо в начало после <?php
    но это тоже не решило проблему…
    Вот конфиг nginx с рабочей машины, с ним все заработало:

    
    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;
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_session_tickets off;
    
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;
    
        add_header Strict-Transport-Security max-age=15768000;
    
        ssl_stapling on;
        ssl_stapling_verify on;
    
        resolver 8.8.8.8;
    
    root /var/www/example.com;
    	access_log /var/log/nginx/example.com-ssl-access.log main;
    	error_log  /var/log/nginx/example.com-ssl-error.log error;
    	index index.php;
    
    location / {
    proxy_pass http://127.0.0.1:8887;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_connect_timeout 120;
    proxy_send_timeout 120;
    proxy_read_timeout 180;
    }
    
    location ~* \.(gif|jpeg|jpg|png|tif|tiff|ico|jng|bmp|doc|pdf|rtf|xls|ppt|rar|rpm|swf|zip|bin|exe|dll|deb|cur)$ {
                root         /var/www/example.com;
                access_log   off;
                expires      3d;
            }
    
    location ~* \.(css|js)$ {
     root         /var/www/example.com;
                access_log   off;
                expires      180m;
            }
    
    location ~ /\.ht {
                            deny  all;
                            }
    
    location /phpmyadmin {
       root /usr/share/;
       index index.php;
    
       location ~ ^/phpmyadmin/(.+\.php)$ {
         try_files $uri =404;
         root /usr/share/;
         proxy_pass         http://127.0.0.1:8887;
       }
       
       location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
         root /usr/share/;
         expires 1M;
       }
    }
    
    Модератор Yui

    (@fierevere)

    ゆい にゃん子

    proxy_set_header X-Forwarded-Proto $scheme;

    добавьте в конфиг nginx после директив proxy_pass

    в apache надо в определении виртуального хоста прописать:

    где-то после
    <VirtualHost 127.0.0.1:8887>

    SetEnvIf X-Forwarded-Proto https HTTPS=on

    Модератор Yui

    (@fierevere)

    ゆい にゃん子

    server_name example.com;

    а это у вас так и висит? или там настоящий адрес сервера?

    а это у вас так и висит? или там настоящий адрес сервера?

    Настоящий:)

Просмотр 8 ответов — с 1 по 8 (всего 8)