Wsparcie » Zaawansowane » Brak dostępu do panelu administracyjnego po instalacji certyfikatu SSL

  • Witam,
    Kilka dni temu na moim serwerze został zainstalowany certyfikat SSL Wildcard dla odpowiedniej domeny.
    Zrobiłem przekierowanie w pliku htaccess dodając na początku pliku 3 linijki kodu:

    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    W panelu administracyjnym w ustawieniach ogólnych zmieniłem adresy z http na https.
    Niestety przy taki ustawieniach strona przestała działa z powodu pętli przekierowań.
    Dlatego też w pliku wp-config.php dodałem jedną linijkę kodu:
    $_SERVER['HTTPS'] = 'on';
    Nadal występował problem z pętlą przekierowań. Więc z pliku htaccess usunąłem te 3 linijki kodu, które wstawiłem na początku i strona zaczęła się ładować na https.
    Niestety przy próbie zalogowania do panelu administracyjnego otrzymuję za każdym razem komunikat:

    Przepraszamy, nie posiadasz uprawnień do tej strony.

    Próbowałem już różnych sposobów, ale żaden nie zadziałał.
    Może ktoś z was mi podpowie co może być nie tak?

    Strona przy której potrzebuję pomocy: [zaloguj się aby zobaczyć ten link]

Viewing 8 replies - 1 through 8 (of 8 total)
  • Sprawdź na innej przeglądarce albo wyczyść ciasteczka cookies z przeglądarek, ewentualnie wejdź na stronę przez profil Private Mode w Chrome lub Firefoxie.

    Wygląda na to, ze masz jakieś stare ustawienia w ciasteczkach strony.
    U mnie w Firefoxie dozbrojonym przez ublocka, ghostery i noscripta strona logowania otwiera się bez problemu, więc to raczej nie jest wina Worpressa czy Serwera, tylko przestrzeni miedzy krzesłem a klawiaturą. 😉

    Poza tym nie wystarczy byle jak postawić strony i oczekiwać, że będzie zawsze działać.

    Zobacz swoje szczyty lamerstwa na żywo:

    http://imgurl.pl/img/lubartow_5c554f0d8784f.png
    https://observatory.mozilla.org/analyze/miasto.lubaczow.pl
    https://validator.w3.org/nu/?doc=https%3A%2F%2Fmiasto.lubaczow.pl%2F

    Konfiguracja SSL też kiepsko:
    https://www.ssllabs.com/ssltest/analyze.html?d=miasto.lubaczow.pl
    np brak rekordów CAA… 😛

    Dla porównania: prawidłowo skonfigurowany certyfikat SSL – darmowy Lets’encrypt:
    https://www.ssllabs.com/ssltest/analyze.html?d=ubuntu.pl

    Pozdro
    xD

    • Odpowiedź została zmodyfikowana 10 months, 2 weeks temu przez Jacekalex. Powód: Rezultat testu SSL
    • Odpowiedź została zmodyfikowana 10 months, 2 weeks temu przez Jacekalex. Powód: SSL przyklad prawidłowej konfiguracji

    JAcekalex nie napisałem tego posta żeby ktoś mnie obrażał tylko po to żeby rozwiązać problem.
    Chyba nie do końca zrozumiałeś co napisałem.
    Strona logowania owszem działa poprawnie. Problem pojawia się dopiero przy próbie zalogowania. Wtedy otrzymuję komunikat o braku uprawnień do tej strony.
    Konfiguracja https nie została ukończona ponieważ po dodaniu w pliku htaccess przekierowań na https otrzymuję błąd pętli przekierowań.
    W tym momencie htaccess zawartość pliku htaccess jest domyślna – taka jak po świeżo zainstalowanym wordpressie.
    Ciasteczka czyściłem wielokrotnie i sprawdzałem na różnych przeglądarkach.
    Nie jest problemem konfiguracja https tylko to, że nie mogę się dostać do panelu administracyjnego w momencie kiedy przełączam stronę na https.
    Kiedy wyłączam całkowicie certyfikat na stronie tzn. wn wp_options ustawiam home i site url na http wtedy bez problemu dostaję się do zaplecza strony.
    Ale kiedy zmienię w bazie adres strony na https i dodam w htaccess przekierowania, do tego musiałem dopisać do pliku wp-config $_SERVER['HTTPS'] = 'on'; wtedy nie mam dostępu do zaplecza.
    Poza tym przy tych samych ustawieniach na innym serwerze ta sama strona z tymi samymi plikami – tylko pod inną domeną – działa poprawnie.
    I to jest mój problem.
    Jeżeli masz mnie obrażać to lepiej nic nie pisz. Nie po to jest forum.

    • Ta odpowiedź została zmodyfikowana 10 months, 2 weeks temu przez siCk_BoY_.

    Jak po zalogowaniu, to w takim razie masz spartolone przekierowanie HTTPS albo jakiś błąd w konfiguracji w samym Wordpesie.
    O tym, ze przekierowanie https jest zrobione nieprawidłowo możesz się dowiedzieć z trzech stron, który Ci podlinkowałem.

    1. Włącz debugowanie w Worpresie.
    2. Sprawdź w logach serwera WWW, dlaczego występuje pętla przekierowań.
    Jeżeli pętla przekierowań występuje tylko po logowaniu do Admina, to pewnie błąd masz w konfiguracji Worpdpressa.
    Jak masz ustawione zmienne FORCE_SSL_LOGIN, FORCE_SSL_ADMIN,WP_SITEURL i WP_HOME w wp-config.php

    RTFM:
    https://codex.wordpress.org/WP_DEBUG
    https://codex.wordpress.org/Debugging_in_WordPress

    Logi serwera WWW w Nazwie powinieneś znaleźć gdzieś w panelu Admina, jak nie, to zapytaj w pomocy technicznej.
    I nie ma się co indyczyć, masz tyle błędów konfiguracyjnych na serwerze i na stronie że głowa boli.

    PS:
    Nigdy nie słyszałem, żeby wpisywać w wp-config.php zmienną:
    $_SERVER[‚HTTPS’] = ‚on’;
    To raczej jest kawałek reguły dla mod REWRITE Apacha albo jakiejś reguły napisanej w PHP, a nie dla wp-config.php WordPressa.

    Tu masz opisane, jak się w WP włącza SSL w nazwie:
    https://blog.nazwa.pl/jak-zabezpieczyc-ssl-em-strone-wordpress/
    I się do niego zastosuj, bo kombinujesz na razie jak koń pod gore, i prędzej spartolisz całą stronę do końca niż poprawnie włączysz SSL przy takich chaotycznych ruchach.

    Pozdro

    • Ta odpowiedź została zmodyfikowana 10 months, 2 weeks temu przez Jacekalex.

    Debugowanie włączyłem, ale żadnych błędów na stronie nie pokazuje.
    Wstawiłem takie wpisy do wp-config:

    define(' WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true );

    oraz

    define('FORCE_SSL_ADMIN', true);
    define('FORCE_SSL_LOGIN', true);

    Jeśli chodzi o WP_SITEURL oraz WP_HOME to nie robiłem tych wpisów w wp-config. Adresu SITEURL oraz HOME zmieniłem w bazie na https.

    Niestety nie mam dostępu do logów serwera – aktualnie czekam na @ od administratora, żeby podesłał logi z błędami.

    Co do wpisu, o którym wspomniałem wcześniej to administrator mojego serwera podesłał mi ten kod do wstawienia w wp-config. Widziałem też informację na kilku stronach żeby wstawić to do wp-config.

    Jeśli chodzi o włączanie SSL to na samym początku się do tego zastosowałem. Niestety nie działało poprawnie dlatego zacząłem szukać innych rozwiązań.
    Nie robię tego pierwszy raz i wiem, że powinno zadziałać, ale z jakiegoś powodu nie działa.
    Aktualnie w htaccess mam takie wpisy:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://miasto.lubaczow.pl/$1 [R=301,L]
    </IfModule>
    
    # END WordPress

    a w wp-config takie:

    <?php
    /**
     * Podstawowa konfiguracja WordPressa.
     *
     * Skrypt wp-config.php używa tego pliku podczas instalacji.
     * Nie musisz dokonywać konfiguracji przy pomocy przeglądarki internetowej,
     * możesz też skopiować ten plik, nazwać kopię "wp-config.php"
     * i wpisać wartości ręcznie.
     *
     * Ten plik zawiera konfigurację:
     *
     * * ustawień MySQL-a,
     * * tajnych kluczy,
     * * prefiksu nazw tabel w bazie danych,
     * * ABSPATH.
     *
     * @link https://codex.wordpress.org/Editing_wp-config.php
     *
     * @package WordPress
     */
    
    // ** Ustawienia MySQL-a - możesz uzyskać je od administratora Twojego serwera ** //
    /** Nazwa bazy danych, której używać ma WordPress */
    define('DB_NAME', '****');
    
    /** Nazwa użytkownika bazy danych MySQL */
    define('DB_USER', '****');
    
    /** Hasło użytkownika bazy danych MySQL */
    define('DB_PASSWORD', '****');
                         
    
    /** Nazwa hosta serwera MySQL */
    define('DB_HOST', '*********');
    
    /** Kodowanie bazy danych używane do stworzenia tabel w bazie danych. */
    define('DB_CHARSET', 'utf8');
    
    /** Typ porównań w bazie danych. Nie zmieniaj tego ustawienia, jeśli masz jakieś wątpliwości. */
    define('DB_COLLATE', '');
    
    /**#@+
     * Unikatowe klucze uwierzytelniania i sole.
     *
     * Zmień każdy klucz tak, aby był inną, unikatową frazą!
     * Możesz wygenerować klucze przy pomocy {@link https://api.wordpress.org/secret-key/1.1/salt/ serwisu generującego tajne klucze witryny WordPress.org}
     * Klucze te mogą zostać zmienione w dowolnej chwili, aby uczynić nieważnymi wszelkie istniejące ciasteczka. Uczynienie tego zmusi wszystkich użytkowników do ponownego zalogowania się.
     *
     * @since 2.6.0
     */
    define('AUTH_KEY',         '****************');
    define('SECURE_AUTH_KEY',  '****************');
    define('LOGGED_IN_KEY',    '****************');
    define('NONCE_KEY',        '****************');
    define('AUTH_SALT',        '****************');
    define('SECURE_AUTH_SALT', '****************');
    define('LOGGED_IN_SALT',   '****************');
    define('NONCE_SALT',       '****************');
    
    /**#@-*/
    
    /**
     * Prefiks tabel WordPressa w bazie danych.
     *
     * Możesz posiadać kilka instalacji WordPressa w jednej bazie danych,
     * jeżeli nadasz każdej z nich unikalny prefiks.
     * Tylko cyfry, litery i znaki podkreślenia, proszę!
     */
    $table_prefix  = '***';
    
    /**
     * Dla programistów: tryb debugowania WordPressa.
     *
     * Zmień wartość tej stałej na true, aby włączyć wyświetlanie
     * ostrzeżeń podczas modyfikowania kodu WordPressa.
     * Wielce zalecane jest, aby twórcy wtyczek oraz motywów używali
     * WP_DEBUG podczas pracy nad nimi.
     *
     * Aby uzyskać informacje o innych stałych, które mogą zostać użyte
     * do debugowania, przejdź na stronę Kodeksu WordPressa.
     *
     * @link https://codex.wordpress.org/Debugging_in_WordPress
     */
    define(' WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true );
    define( 'FTP_USER', '***' );
    define( 'FTP_PASS', '***' );
    define( 'FTP_HOST', '***' );
    
    /* To wszystko, zakończ edycję w tym miejscu! Miłego blogowania! */
    
    /** Absolutna ścieżka do katalogu WordPressa. */
    if ( !defined('ABSPATH') )
    	define('ABSPATH', dirname(__FILE__) . '/');
    
    /** Ustawia zmienne WordPressa i dołączane pliki. */
    require_once(ABSPATH . 'wp-settings.php');
    define('WP_ALLOW_MULTISITE', true);
    
    define('FORCE_SSL_ADMIN', true);
    define('FORCE_SSL_LOGIN', true);
    
    /** define('RSSSL_FORCE_ACTIVATE', true); */
    

    Do tego w bazie (tak jak już wspomniałem) dla wp_siteurl oraz wp_home ustawiony odpowiednio adres na https://
    I przy takich ustawieniach mam pętlę przekierowań.

    Po pierwsze, zobacz w panelu admina Nazwy, lub wyniku PHPINFO, jaką tam masz dokładnie wersję Apacha.

    Po drugie wywal obecne przekierowanie SSL z htacces, i zobacz, czy strona otwiera się prawidłowo bez szyfrowania i szyfrowaniem.

    Być może Worpress sam przekierowuje na https i w ogóle nie musisz grzebać w htacces, albo też WordPress nie odczytuję jakiejś zmiennej z serwera opisującej że jest https właczony, i próbuje połączenie SSL przekierowywać na SSL.

    Jeśli WordPress nie będzie przekierowywał sam, to nie patrz na porady bałwanów z Nazwy, tylko w zależności czy tam masz serwer Apache 2.2 czy Apache 2.4, zrób przekierowanie z godnie z oficjalną dokumentacją Apacha w odpowiedniej wersji:

    W Apache 2.4 jednym z tych modułów:
    https://wiki.apache.org/httpd/RedirectSSL
    https://wiki.apache.org/httpd/RewriteHTTPToHTTPS

    Bo na wróżenie z fusów w przedmiocie tej pętli przekierowań szkoda czasu i nerwów.

    I przejrzyj mój pierwszy post, w tym swoim „obrażaniu” nie zauwazyłeś bardzo cennych wskazówek do prawidłowej konfiguracji strony.
    Wskazówek kluczowych np do skutecznego pozycjonowania strony i prawidłowej współpracy z mechanizmami bezpieczeństwa wbudowanymi w Gogle Chrome czy Firefoxa.

    Pozdro

    Wiem, że już dość stare pytanie. Ale miałem podobny problem. Rozwiązanie -> sprawdź czy prefix bazy danych w wp-config zgadza się z tym co masz po imporcie bazy w myPhpAdmin. Jeśli nie, najłatwiej podmienić prefix w wp-config. U mnie to rozwiązało problem 🙂

    Problem rozwiązałem kombinując. Chociaż nadal nie wiem dlaczego tak się dzieje.
    Prefiks w bazie i wp-config jest taki sam i nie miało to wpływu na ten błąd ponieważ strona na http działa normalnie dopiero po ustawieniu w opcjach prefiksu https oraz zrobieniu przekierowania w htaccess powodował błąd.
    Nadal nie znam przyczyny.
    Obecnie strona działa poprawnie na https i mogę się zalogować, ale jak napiszę co zrobiłem to pewnie mi się nieźle oberwie od bardziej doświadczonych osób 🙂
    Mianowicie w żaden sposób nie udawało mi się popranie przełączyć strony na https więc zacząłem kombinować.
    W htaccess zrobiłem przekierowanie z www na bez www w taki sposób:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

    W pliku wp-config dodałem na początku wpis:
    $_SERVER['HTTPS'] = 'on';

    Do tego miałem zainstalowaną wtyczkę Really Simple SSL.
    Dopiero po wykonaniu tych operacji wtyczka wykryła popranie certyfikat i strona zaczęła poprawnie działać na https – łącznie z panelem administracyjnym.

    Niestety zwykłe dodanie przekierowania w htaccess na https oraz zmiana w opcjach wordpress na https (standardowo powinno to działać) nie pomogło więc kombinowałem aż znalazłem taki sposób.
    Nie krytykujcie mnie za bardzo bo wiem, że tak nie powinno się robić, ale działa poprawnie.
    Być może jest to kwestia konfiguracji serwera? Nie mam pojęcia.

    • Ta odpowiedź została zmodyfikowana 5 months, 3 weeks temu przez siCk_BoY_.

    Tutaj problemm było akurat zmiana adresu strony w Opcjach Ogólnych WordPress czego się nie robi nigdy (w zasadzie tylko w określonych przypadkach). Przy instalacji SSL należy podmienić te adresy w inny sposób – w całej bazie.

Viewing 8 replies - 1 through 8 (of 8 total)