Jump to content

Проблема с 1С синхронизацией по https


Go to solution Solved by megauser,

Recommended Posts

Кто сталкивался, когда сайт по http то синхронизация работает без проблем.

Вот так введены значения, все подключается. 

 

http://site.ru/simpla/cml/1c_exchange.php

admin

pass

 

Поставил SSL, установил редирект в htaccess

 

RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

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

2 редиректа. с www на без и http на https

 

Естественно доступ меняем http на https

 

 

https://site.ru/simpla/cml/1c_exchange.php

admin

pass

 

И получаю со стороны при попытке присоединиться 1С к сайту, вот такую беду.

Убираю редирект, чтоб сайт был доступен по http , без проблем подключается.

 

Еще при авторизации если в конце site.ru/simpla/ - добавляю слеш то заходит в админку, а если без него 

то перекидывает на страницу восстановления пароля, хотя потом уже нахожусь под юзером. Кто сталкивался, как подружить https и 1С

Не удалось установить соединение с сервером. Авторизация пользователя не выполнена.
Не удалось получить данные с сервера. Проверьте правильность адреса сервера, порт, имя пользователя и пароль,
а также настройки подключения к Интернет.
{ОбщийМодуль.ПроцедурыОбменаССайтом.Модуль(444)}: Ошибка при вызове метода контекста (Получить): Ошибка работы с Интернет:   Удаленный узел не прошел проверку
Получение данных с сервера: Получен пустой ответ сервера.

 

http://site.ru/simpla/cml/1c_exchange.php

admin

pass

Link to post
Share on other sites

#Редирект на HTTPS:
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#!!!Внимание, с редиректом вход будет обязательно со слешем в конце /simpla/

 

#Редирект С www на БЕЗ www:
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

...

 

# Админка теперь по адресу /simpla
RewriteRule ^admin/?$ simpla/ [L]
Edited by alexivchenko
Link to post
Share on other sites

Прикрепите файл htaccess не портянкой

И название хостинга или сервера

 

 

beget.ru

 

htaccess стандартный, добавил 4 строчки , которые выше.

 

 

#Редирект на HTTPS:
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#!!!Внимание, с редиректом вход будет обязательно со слешем в конце /simpla/

 

#Редирект С www на БЕЗ www:
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

...

 

# Админка теперь по адресу /simpla
RewriteRule ^admin/?$ simpla/ [L]

 

ERR_INVALID_REDIRECT 

Link to post
Share on other sites

beget.ru

 

htaccess стандартный, добавил 4 строчки , которые выше.

 

 

ERR_INVALID_REDIRECT 

 

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>


<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>



# Админка теперь по адресу /simpla/
RewriteRule	^admin/?$  simpla/ [L]
Edited by alexivchenko
Link to post
Share on other sites

 

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>


<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</IfModule>



# Админка теперь по адресу /simpla/
RewriteRule	^admin/?$  simpla/ [L]

 

Спасибо, только странно, теперь по 

 

https://site.ru/simpla/cml/1c_exchange.php

 

Выходит авторизация, даже залогинился, пароль подходит.

 

Но со стороны 1С все равно не хочет работать.

 

https://yadi.sk/i/SBYT-O8HmAWwwQ

Link to post
Share on other sites

По факту, убираю редирект и сайт доступен в 2 вариантах.

 

http://site.ru/simpla/cml/1c_exchange.php   - подключение успешно

 

https://site.ru/simpla/cml/1c_exchange.php  - подключение не установлено.

 

Не удалось получить данные с сервера. Проверьте правильность адреса сервера, порт, имя пользователя и пароль,
а также настройки подключения к Интернет.
{ОбщийМодуль.ПроцедурыОбменаССайтом.Модуль(444)}: Ошибка при вызове метода контекста (Получить): Ошибка работы с Интернет:   Удаленный узел не прошел проверку
Получение данных с сервера: Получен пустой ответ сервера.

Похоже тут до редиректа надо разбираться 

Link to post
Share on other sites
  • Solution

Проблема решилась исключением директории из https

 

# Исключение для скрипта обмена
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteCond %{REQUEST_URI} index.php
RewriteRule ^ - [L]

# Включаем HTTPS
RewriteCond %{HTTPS} =off

# Исключаем из HTTPS файл (каталог?) обмена с 1с
RewriteCond %{REQUEST_URI} !^/simpla/cml.*$ 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA]

# Редирект с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
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
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.

Loading...
×
×
  • Create New...