Jump to content
Sign in to follow this  
supmener

SSL. При входе в админку перебрасывает на незащищённый канал.

Recommended Posts

Установил сертификаты SSL. В В admin/config.php сделал так:

<?php
// HTTP
define('HTTP_SERVER', 'https://site.com/admin/');
define('HTTP_CATALOG', 'https://site.com/');

// HTTPS
define('HTTPS_SERVER', 'https://site.com/admin/');
define('HTTPS_CATALOG', 'https://site.com/');

При входе в админку показывает сообщение, что на изображении и после входа админка не защищена и выглядит, как на скриншоте.

Примечание. Вычитал, что в админке нужно включить SSL. Включил, только это не помогло. Проблема по прежнему осталась.

post-3079-0-48832400-1460146612_thumb.jpg

post-3079-0-77677700-1460146852_thumb.jpg

Edited by supmener

Share this post


Link to post
Share on other sites

На хостинге включил?

В .htaccess редирект настроил?

  • +1 1

Share this post


Link to post
Share on other sites

Хостер SSL для сайта включил. .htaccess как отредактировать?:

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 998M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 998M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

Share this post


Link to post
Share on other sites

2. Примеры использования файла .htaccess

2.1 Перенаправление доменов c синонима сайта на основной домен с кодом 301

 

Перенаправить запросы на domain.ru с любого из синонимов сайта

 

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.ru$ [NC]
RewriteRule ^(.*)$ http://domain.ru/$1 [L,R=301]

 

Перенаправить запросы на www.domain.ru с любого из синонимов сайта

 

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

 

Данные правила рекомендуется размещать в самом начале файла .htaccess.

 

Еще можно выключить вывод ошибок на странице

 

php_flag display_errors off

 

В робот тхт еще задай основное зеркало если не сделал еще

Host: https://www.domain.ru или Host: https://domain.ru

 

 

Источники:

http://hosting.nic.ru/support/htaccess.shtml - по редиректу

https://yandex.ru/support/webmaster/controlling-robot/robots-txt.xml - по робот тхт

Edited by User007

Share this post


Link to post
Share on other sites

Когда попробовал так сделать, заменив на имя своего сайта, он перестал открываться

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.ru$ [NC]
RewriteRule ^(.*)$ http://domain.ru/$1 [L,R=301]

Перенаправить запросы на www.domain.ru с любого из синонимов сайта
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.ru$ [NC]
RewriteRule ^(.*)$ http://www.domain.ru/$1 [L,R=301]
Данные правила рекомендуется размещать в самом начале файла .htaccess.

Share this post


Link to post
Share on other sites

domain.ru - ваш сайт нужно подставить

 

допустим для опенкарта

 

RewriteEngine On
RewriteCond %{HTTP_HOST} !^opencartforum\.com$ [NC]
RewriteRule ^(.*)$ http://opencartforum.com/$1 [L,R=301] - тут указать куда направляем! https, а не http

 

красным выделено, что нужно проверить!

Edited by User007

Share this post


Link to post
Share on other sites

Спасибо. Только писал выше, что делал это и не получилось. Обратился к хостеру. Он дал такой для хтачес код:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Он сразу не заработал, только после того, как он что то дополнительно сделал. Теперь не могу залогиниться в админку, так как перебрасывает на https (в самом админке ранее включал https).

Share this post


Link to post
Share on other sites

Проблема по прежнему осталась.

 

А версия опенкарта какая? Если 2.2.0, то там баг в SSL. В новом релизе обещают исправить.

  • +1 1

Share this post


Link to post
Share on other sites

2.2, хотел переустановить с нуля и не получилось, спустился на версию ниже.

Кстати редирект, что привёл выше не работает, сейчас буду пробовать тот, что здесь посоветовали.

Share this post


Link to post
Share on other sites

Нашел как решить проблему. SSL на версии 2.2 заработал.

 

1. В файле system/library/url.php

2. Есть строки:

            if ($this->ssl && $connection) {
                $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            } else {
                $url = 'http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            }

3. Вот там, где http:// принудительно прописал https://, получилось:

            if ($this->ssl && $connection) {
                $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            } else {
                $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            }

Теперь все работает, могу войти в админку.

Edited by Magictechnology

Share this post


Link to post
Share on other sites
В 30.11.2016 в 13:51, Magictechnology сказал:

Нашел как решить проблему. SSL на версии 2.2 заработал.

 

1. В файле system/library/url.php

2. Есть строки:


            if ($this->ssl && $connection) {
                $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            } else {
                $url = 'http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            }

3. Вот там, где http:// принудительно прописал https://, получилось:


            if ($this->ssl && $connection) {
                $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            } else {
                $url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
            }

Теперь все работает, могу войти в админку.

Респект! Помогло! 

Share this post


Link to post
Share on other sites

проблема с ssl в админке защита стоит а на сайте нет. В чем может быть проблема?

Share this post


Link to post
Share on other sites

У меня по другому но решение анологичное

 

1. В файле system/library/url.php

2. Есть строки:

public function link($route, $args = '', $secure = false) {
        if ($this->ssl && $secure) {
            $url = $this->ssl . 'index.php?route=' . $route;
        } else {
            $url = $this->url . 'index.php?route=' . $route;
        }

МЕНЯЕМ:

public function link($route, $args = '', $secure = false) {
        if ($this->ssl && $secure) {
            $url = $this->ssl . 'index.php?route=' . $route;
        } else {
            $url = $this->url (НА SSL) . 'index.php?route=' . $route;
        }

И ВСЕ РАБОТАТ. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.