Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DirectAdmin i włączony SSL dla domeny - TOO_MANY_REDIRECTS, pętla przekierowań po https
adikdvb
post 9.05.2018, 10:48:09
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.07.2009

Ostrzeżenie: (0%)
-----


Witajcie,

Zmagam się od wczoraj z następującym problemem. Korzystam z DirectAdmin'a na jednym z VPS, na innych jest czysty Debian, zdecydowanie bardziej preferuję nginx'a.

Certyfikaty wildcard SSL zakupione, DA prawidłowo je rozpoznał i pokazał datę ważności. Po włączeniu obsługi SSL dla jednej z domen, na którym stoi sklep internetowy mam błąd ERR_TOO_MANY_REDIRECTS.

Umieściłem w pliku .htaccess zalecane przez help DA przekierowania:
  1. RewriteEngine On
  2. RewriteCond %{HTTPS} off
  3. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


Konfigurację vhostów wrzuciłem tutaj: https://pastebin.com/Jv9EZa3X

Sklep został zainstalowany w katalogu /public_html/application/public i tam też jest plik .htaccess, który wygląda następująco:

  1. #AddHandler x-httpd-php53 .php
  2.  
  3. RewriteEngine On
  4. RewriteCond %{HTTPS} off
  5. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  6.  
  7. # use if needed:
  8. #RewriteBase /
  9.  
  10. RewriteRule ^$ / [QSA]
  11.  
  12. RewriteCond %{REQUEST_FILENAME} ([a-z_]+?)_picture/(.*?)\.(?:jpg|png)$
  13. RewriteCond %{REQUEST_FILENAME} !-f
  14. RewriteRule ([a-z_]+?)_picture/(.*?)/(.*?)\.(jpg|png)$ thumbnailer/create/$1/$2/$3/$4 [QSA,L]
  15.  
  16. # some hosts need redirect:
  17. # RewriteRule ([a-z_]+?)_picture/(.*?)/(.*?)\.(jpg|png)$ thumbnailer/create/$1/$2/$3/$4 [QSA,R,L]
  18.  
  19. # redirects request to nonexisting CSS and JS to empty CSS/JS files [so you dont need to define module CSS/JS if you dont need it]
  20. RewriteCond %{REQUEST_FILENAME} ^(.*?)\.css$
  21. RewriteCond %{REQUEST_FILENAME} !-f
  22. RewriteRule ^(.*)$ stylesheets/core/no_css.css [QSA,L]
  23.  
  24. RewriteCond %{REQUEST_FILENAME} ^(.*?)\.js$
  25. RewriteCond %{REQUEST_FILENAME} !-f
  26. RewriteRule ^(.*)$ javascript/core/no_js.js [QSA,L]
  27.  
  28.  
  29. # displays 404.html if IMAGE is not found
  30. RewriteCond %{REQUEST_FILENAME} !-f
  31. RewriteCond %{REQUEST_URI} images/.*?(png|jpg|gif)
  32. # ^^ may catch valid requests that contain "images/" and have image extension!!!!
  33. RewriteRule ^(.*)$ 404.html [QSA,L]
  34.  
  35. RewriteCond %{REQUEST_FILENAME} !-f
  36. RewriteRule ^(.*)$ index.php/$1 [QSA,L]
  37. # also OK RewriteRule ^(.*)$ index.php/%{REQUEST_FILENAME} [QSA,L]
  38.  
  39.  
  40. # define error pages
  41. ErrorDocument 404 error_page.php
  42. ErrorDocument 406 error_page.php
  43. ErrorDocument 500 error_page.php


Dzisiaj spróbowałem jeszcze jednej rzeczy. Przeniosłem wszystkie pliki sklepu wraz z katalogami z public_html do private_html. Zmieniłem w DA

  1. |*if !SUB|
  2. |?DOCROOT=/home/admin/domains/my-shop.net/public_html/application/public|
  3. |*endif|


na

  1. |*if !SUB|
  2. |?DOCROOT=/home/admin/domains/my-shop.net/private_html/application/public|
  3. |*endif|


W lokalizacji /public_html/application/public stworzyłem .htaccess z zawartością:

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

Po odświeżeniu domeny sklepu pojawiła się zielona kłódka, niestety są błędy:

  1. Warning: require_once(/home/admin/domains/my-shop.net/public_html/application/public/../../framework/gp/event_dispatcher/EventDispatcherGP.php): failed to open stream: No such file or directory in /home/admin/domains/my-shop.net/private_html/framework/autoloader/Autoloader.php on line 66
  2.  
  3. Fatal error: require_once(): Failed opening required '/home/admin/domains/my-shop.net/public_html/application/public/../../framework/gp/event_dispatcher/EventDispatcherGP.php' (include_path='.:/usr/local/lib/php:/home/admin/domains/my-shop.net/private_html/application:/home/admin/domains/my-shop.net/private_html/framework:/home/admin/domains/my-shop.net/private_html/framework/libs/:/home/admin/domains/my-shop.net/private_html/application/libs/ThirdParty') in /home/admin/domains/my-shop.net/private_html/framework/autoloader/Autoloader.php on line 66


Zrobiłem też link symboliczny, ale nie pomogło:

ln -s /private_html/application/public -> /public_html/application/public

Sprawdziłem wszystkie pliki w katalogu config i nie mogę znaleźć dlaczego skrypt chce wczytywać z public_html. Macie jakieś pomysły a może źle kombinuję? Przypuszczam, że gdzieś trzeba odświeżyć wpisy, w bazie danych nic nie widzę. Sklep www jest na silniku i-sklep.pl (i-systems.pl). Gdyby to była Presta lub coraz bardziej popularny thirtybees to sprawa jest prosta.

Dodam jeszcze, że subdomena z zainstalowaną Livezillą do obsługi chatu działa po https prawidłowo.

PS. Znalazłem plik ssl_template.php, ale to chyba nie to...

  1. <?php
  2. /**
  3.  * 1. Enable SSL in 'enabled'
  4.  * 2. Define which domains (not aliases) should use SSL in 'ssl_domains'
  5.  * 3. Configure 'admin_sections_prefixes' if needed (this is to support '/admin/*' urls)
  6.  * 4. Configure controllers to return public function getActionsForSSL()
  7.  * 5. Refresh controller configuration cache in /admin/technical_panel
  8.  * 5.1 Refresh this cache config after each change in controllers
  9.  */
  10. return array(
  11. 'enabled' => true,
  12. // 'enabled' => false,
  13.  
  14. 'ssl_domains' => array(
  15. 'secure.site.pl'
  16. ),
  17.  
  18. // check plugins.php
  19. // and copy all prefixes configured in: $pluginManager->registerPlugin( Framework_Plugins_PluginManager::AFTER_ROUTING, new Application_AdminSectionPlugin(array('admin')));
  20. 'admin_sections_prefixes' => array(
  21. 'admin',
  22. )
  23. );


Ten post edytował adikdvb 9.05.2018, 10:58:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LowiczakPL
post 9.05.2018, 22:41:03
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


odśwież autoloader

  1. composer dump-autoload


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
adikdvb
post 10.05.2018, 20:28:08
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.07.2009

Ostrzeżenie: (0%)
-----


Wreszcie działa, brakowało pliku ssl.php z nazwami dozwolonych domen oraz ssl_actions_cache.php z nazwami klas, gdzie ma być włączony SSL.

snitch.gif

Ten post edytował adikdvb 11.05.2018, 09:24:58
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 09:36