Nextcloud live doc edit с Collabora Online (CODE) cURL error 60: издатель сертификата партнера был помечен как недоверенный пользователем

1680
Kyle H

Здравствуйте! У меня самое ужасное время с этим. Я хочу закончить, чтобы я мог начать писать вдохновляющие книги для людей и других людей, переживших травмы головного мозга здесь и там, когда у меня будет время. У меня черепно-мозговая травма с кратковременной потерей памяти (например, Дори, обнаружившей Немо) в результате почти смертельной автомобильной аварии в 2007 году, и она очень хорошо выздоровела. Я не хочу использовать диск Google или другие облачные решения, принадлежащие другим компаниям, потому что любая информация, загруженная на что-то вроде диска Google, принадлежит Google, и они могут распространять ее по своему усмотрению. В любом случае, я отвлекся.

Я установил Nextcloud 12 на Apache, и он отлично работает! Я хотел бы сделать живое редактирование документа по причинам выше. Следуйте инструкциям в документации Collabora CODE . Я использую изображение Docker CODE (сотрудник / код). Я запускаю изображение с кодом ниже, как описано в документации. У меня Apache работает без ошибок, по крайней мере, нет очевидных, которые я видел. Я не просматривал логи, просто искал новые при выполнении действий в следующем облаке. У меня установлено приложение Collabore Online, и для сетевого сервера Collabora в разделе «Администратор» установлено https://127.0.0.1:9980. Когда я захожу в Файлы и пытаюсь открыть новый, ранее созданный вчера пустой документ .odt, он выдает ошибку, показанную в блоке ниже.

Порт 9980 открыт. Селинукс тоже включен, но я бы хотел оставить его включенным. Я перепробовал много вещей за последнюю неделю или две здесь и там, когда у меня было время. Я не помню все, что я сделал, но я знаю, что пытался создать собственный файл Docker для копирования старых сертификатов, используемых с сертификатом «Let's Encrypt» моего сайта. Я не помню, передавал ли я тогда правильную переменную env, чтобы предотвратить создание самоподписанного сертификата и использование сертификата в файловой системе, кто-нибудь знает шаги для этого? Я вернулся к использованию самоподписанного сертификата, потому что во многих доступных руководствах самоподписанный сертификат используется без проблем. Так может это моя особая настройка? С сертификатом манипуляций, которые я попробовал, я проверил против https://127.0.0.1:8890 с curl. Я столкнулся с ошибкой 35 cURL Обнаружен конец файла,

Кто-нибудь знает, как я мог успешно использовать свой собственный давайте шифровать сертификат с моего веб-сайта в контейнере для работающей внутри него службы loolwsl? Пожалуйста, дайте мне знать, если я ничего не упомянул! Большое спасибо за чтение и за вашу помощь!

khamil8686

На веб-странице  Внутренняя ошибка сервера  Сервер обнаружил внутреннюю ошибку и не смог выполнить ваш запрос.  Пожалуйста, свяжитесь с администратором сервера, если эта ошибка появляется несколько раз, пожалуйста, включите технические детали ниже в ваш отчет.  Более подробную информацию можно найти в журнале сервера.  Технические детали  Удаленный адрес: 167.142.215.1 Идентификатор запроса: WVOhwIY0d9yPqqbVbYLBaQAAAAI  Сообщение журнала Apache (то же самое повторяется несколько раз) [Чт 29 июня 07: 09: 25.542925 2017] [authz_core: error] [pid 23408] [клиент 167.142.215.1:14850] AH01630: клиент отклонен из-за конфигурации сервера: /var/www/nextcloud/data/.ocdata  В журнале nextcloud { "ReqId": "WVOhwIY0d9yPqqbVbYLBaQAAAAI", "уровень": 3, "время": "2017-06-28T12: 32: 00 + 00: 00", "remoteAddr": "167.142.215.1", "пользователь":» khamil8686", "приложение": "richdocuments", "метод": "GET", "URL": "\ / nextcloud \ /index.php \ / приложения \ / richdocuments \ / индекс FILEID = 641 & requesttoken = xRmG6LQ% 2BYOl01txmrtMSQ1OlqGsDB81OeVyWM5JAFTg% 3D% 3Asl3MrI1OI7w6mY1X5IpnJgLs4C9FX4YFEBXeQ6UvInk% 3D "," message ":" Исключение: {\ "Исключение \": \ "GuzzleHttp \\\\ Исключение \\\\ RequestException \", \ Ошибка Error \ ": \ PeURUR \: CUR издатель сертификата помечен пользователем как недоверенный. \ ", \" Код \ ": 0, \" Trace \ ": \"# 0 \\\ / var \\\ / www \\\ / nextcloud \\\ / 3rdparty \\\ / guzzlehttp \\\ / guzzle \\\ / src \\\ / RequestFsm.php (103): GuzzleHttp \ \\\ Exception \\\\ RequestException :: wrapException (Объект (GuzzleHttp \\\\ Сообщение \\\\ Запрос), Объект (GuzzleHttp \\\\ Ring \\\\ Exception \\\\ RingException)) \\ n # 1 \\\ / var \\\ / www \\\ / nextcloud \\\ / 3rdparty \\\ / guzzlehttp \\\ / guzzle \\\ / src \\\ / RequestFsm.php (132): GuzzleHttp \\\\ RequestFsm -> __ invoke (Object (GuzzleHttp \\\\ Transaction)) \\ n # 2 \\\ / var \\\ / www \\\ / nextcloud \\\ / 3rdparty \\\ / реагировать \ \\ / обещание \\\ / src \\\ / FulfilledPromise.php (25): GuzzleHttp \\\\ RequestFsm-> GuzzleHttp \\\\ (Array) \\ n # 3 \\\ / var \ \\ / www \\\ / nextcloud \\\ / 3rdparty \\\ / guzzlehttp \\\ / ringphp \\\ / src \\\ / Future \\\ / CompletedFutureValue.php (55): реагировать \\\\ Обещание \\\\ FulfilledPromise-> then (Объект (Закрытие), NULL,NULL) \\ n # 4 \\\ / var \\\ / www \\\ / nextcloud \\\ / 3rdparty \\\ / guzzlehttp \\\ / guzzle \\\ / src \\\ / Сообщение \\\ /FutureResponse.php(43): GuzzleHttp \\\\ Ring \\\\ Future \\\\ CompletedFutureValue-> then (объект (закрытие), NULL, NULL) \\ n # 5 \\\ / var \\\ /www\\\/nextcloud\\\/3rdparty\\\/guzzlehttp\\\/guzzle\\\/src\\\/RequestFsm.php(134): GuzzleHttp \\\\ Message \\\\ FutureResponse: : proxy (Object (GuzzleHttp \\\\ Ring \\\\ Future \\\\ CompletedFutureArray), Object (Закрытие)) \\ n # 6 \\\ / var \\\ / www \\\ / nextcloud \\ \ / 3rdparty \\\ / guzzlehttp \\\ / guzzle \\\ / src \\\ / Client.php (165): GuzzleHttp \\\\ RequestFsm -> __ invoke (Object (GuzzleHttp \\\\ Transaction)) \ \ n # 7 \\\ / var \\\ / www \\\ / nextcloud \\\ / 3rdparty \\\ / guzzlehttp \\\ / guzzle \\\ / src \\\ / Client.php (125): GuzzleHttp \\\\ Client-> send (Object (GuzzleHttp \\\\ Message \\\\ Request)) \\ n # 8 \\\ / var \\\ / www \\\ / nextcloud \\\ / lib \\\ / частные \\\ / Http \\\ / Клиент \\\ / Клиент.php (138): GuzzleHttp \\\\ Client-> get ('https: \\\ / \\\ / 127.0.0 ...', Array) \\ n # 9 \\\ / var \\\ / www \\\ / nextcloud \\\ / apps \\\ / richdocuments \\\ / lib \\\ / WOPI \\\ / DiscoveryManager.php (84): OC \\\\ Http \\\\ Client \\ \\ Client-> get ('https: \\\ / \\\ / 127.0.0 ...') \\ n # 10 \\\ / var \\\ / www \\\ / nextcloud \\\ / apps \\\ / richdocuments \\\ / lib \\\ / WOPI \\\ / Parser.php (41): OCA \\\\ Richdocuments \\\\ WOPI \\\\ DiscoveryManager-> get () \\ n # 11 \\\ / var \\\ / www \\\ / nextcloud \\\ / apps \\\ / richdocuments \\\ / lib \\\ / TokenManager.php (117): OCA \\\\ Richdocuments \\\\ WOPI \\\\ Parser-> getUrlSrc ('application \\\ / vnd ...') \\ n # 12 \\\ / var \\\ / www \\\ / nextcloud \\\ / apps \\\ / richdocuments \\\ / lib \\\ / Controller \\\ / DocumentController.php (108): OCA \\\\ Richdocuments \\\\ TokenManager-> getToken (*** заменены чувствительные параметры ** *) \\ n # 13 [внутренняя функция]:ОСА \\\\ Richdocuments \\\\ Controller \\\\ DocumentController-> index ('641') \\ n # 14 \\\ / var \\\ / www \\\ / nextcloud \\\ / lib \ \\ / private \\\ / AppFramework \\\ / Http \\\ / Dispatcher.php (160): call_user_func_array (Array, Array) \\ n # 15 \\\ / var \\\ / www \\\ / nextcloud \\\ / lib \\\ / private \\\ / AppFramework \\\ / Http \\\ / Dispatcher.php (90): OC \\\\ AppFramework \\\\ Http \\\\ Dispatcher-> executeController (Object (OCA \\\\ Richdocuments \\\\ Controller \\\\ DocumentController), 'index') \\ n # 16 \\\ / var \\\ / www \\\ / nextcloud \\\ / lib \\\ / private \\\ / AppFramework \\\ / App.php (114): OC \\\\ AppFramework \\\\ Http \\\\ Dispatcher-> dispatch (Объект (OCA \\\\ Richdocuments) \\\\ Controller \\\\ DocumentController), 'index') \\ n # 17 \\\ / var \\\ / www \\\ / nextcloud \\\ / lib \\\ / private \\\ / AppFramework \\\ / Routing \\\ / RouteActionHandler.php (47): OC \\\\ AppFramework \\\\ App :: main ('OCA \\\\\\\\ Richdocumen ...',' index ', Object (OC \\\\ AppFramework \\\\ DependencyInjection \\\\ DIContainer), Array) \\ n # 18 [внутренняя функция]: OC \\\\ AppFramework \\\\ Маршрутизация \ \\\ RouteActionHandler -> __ invoke (Array) \\ n # 19 \\\ / var \\\ / www \\\ / nextcloud \\\ / lib \\\ / private \\\ / Route \\\ / Router .php (299): call_user_func (Object (OC \\\\ AppFramework \\\\ Routing \\\\ RouteActionHandler), Array) \\ n # 20 \\\ / var \\\ / www \\\ / nextcloud \\\ / lib \\\ / base.php (1000): OC \\\\ Route \\\\ Router-> match ('\\\ / apps \\\ / richdocum ...') \\ n # 21 \\\ / var \\\ / www \\\ / nextcloud \\\ / index.php (40): OC :: handleRequest () \\ n # 22 \ ", \" Файл \ " : \ "\\\ / вар \\\ / WWW \\\ / nextcloud \\\ / 3rdparty \\\ / guzzlehttp \\\ / жрать \\\ / ЦСИ \\\ / Exception \\\ / RequestException.php \ ", \" Line \ ": 51}", "userAgent": "Mozilla \ /5.0 (Windows NT 10.0; Win64; x64; rv: 54.0) Gecko \ / 20100101 Firefox \ / 54.0", "версия": "12.0.0.29"}  Более читаемый журнал nextcloud из пользовательского интерфейса /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - строка 103: GuzzleHttp \ Exception \ RequestException wrapException (Объект (GuzzleHttp \ Message \ Request), Объект (GuzzleHttp \ Ring \ Exception \ RingException) /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - строка 132: GuzzleHttp \ RequestFsm -> __ invoke (Object (GuzzleHttp \ Transaction)) /var/www/nextcloud/3rdparty/react/promise/src/FulfilledPromise.php - строка 25: GuzzleHttp \ RequestFsm-> GuzzleHttp \ (Array) /var/www/nextcloud/3rdparty/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php - строка 55: React \ Promise \ FulfilledPromise-> then (Object (Closure), NULL, NULL) /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Message/FutureResponse.php - строка 43: GuzzleHttp \ Ring \ Future \ CompletedFutureValue-> then (объект (закрытие), NULL, NULL) /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/RequestFsm.php - строка 134: прокси GuzzleHttp \ Message \ FutureResponse (объект (GuzzleHttp \ Ring \ Future \ CompletedFutureArray), объект (закрытие)) /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php - строка 165: GuzzleHttp \ RequestFsm -> __ invoke (Object (GuzzleHttp \ Transaction)) /var/www/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php - строка 125: GuzzleHttp \ Client-> send (Object (GuzzleHttp \ Message \ Request)) /var/www/nextcloud/lib/private/Http/Client/Client.php - строка 138: GuzzleHttp \ Client-> get ('https //127.0.0 ...', Array) /var/www/nextcloud/apps/richdocuments/lib/WOPI/DiscoveryManager.php - строка 84: OC \ Http \ Client \ Client-> get ('https //127.0.0 ...') /var/www/nextcloud/apps/richdocuments/lib/WOPI/Parser.php - строка 41: OCA \ Richdocuments \ WOPI \ DiscoveryManager-> get () /var/www/nextcloud/apps/richdocuments/lib/TokenManager.php - строка 117: OCA \ Richdocuments \ WOPI \ Parser-> getUrlSrc ('application / vnd ...') /var/www/nextcloud/apps/richdocuments/lib/Controller/DocumentController.php - строка 108: OCA \ Richdocuments \ TokenManager-> getToken (*** заменены чувствительные параметры ***) [внутренняя функция] OCA \ Richdocuments \ Controller \ DocumentController-> index ('641') /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - строка 160: call_user_func_array (Array, Array) /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - строка 90: OC \ AppFramework \ Http \ Dispatcher-> executeController (Object (OCA \ Richdocuments \ Controller \ DocumentController), 'index') /var/www/nextcloud/lib/private/AppFramework/App.php - строка 114: OC \ AppFramework \ Http \ Dispatcher-> dispatch (Объект (OCA \ Richdocuments \ Controller \ DocumentController), 'index') /var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php - строка 47: OC \ AppFramework \ App main ('OCA \\ Richdocumen ...', 'index', объект (OC \ AppFramework \ DependencyInjection) \ DIContainer), массив) [внутренняя функция] OC \ AppFramework \ Routing \ RouteActionHandler -> __ invoke (Array) /var/www/nextcloud/lib/private/Route/Router.php - строка 299: call_user_func (Object (OC \ AppFramework \ Routing \ RouteActionHandler), Array) /var/www/nextcloud/lib/base.php - строка 1000: OC \ Route \ Router-> match ('/ apps / richdocum ...') /var/www/nextcloud/index.php - строка 40: OC handleRequest ()   Чтобы запустить образ Docker для Collabora Online CODE docker run -t -d -p 127.0.0.1:9980:9980 \ -e 'cert_domain = X \ .com' \ -e 'username = admin' \ -e 'пароль = пароль' - всегда запускать --cap-добавить MKNOD сотрудник / код  Apache Config - nextcloud.conf &laboraonlineCODE.conf в conf.d  ==> /etc/httpd/conf.d/nextcloud.conf  Опции + FollowSymlinks AllowOverride All   Давай прочь   SetEnv HOME / var / www / nextcloud SetEnv HTTP_HOME / var / www / nextcloud    ==> /etc/httpd/conf.d/collaboraonlineCODE.conf  ServerName сотрудник. X: 443  # Конфигурация SSL, вы можете выбрать легкий путь и использовать Lets Encrypt! SSLEngine на SSLCertificateFile /etc/letsencrypt/live/X-0002/cert.pem SSLCertificateChainFile /etc/letsencrypt/live/X.com-0002/chain.pem SSLCertificateKeyFile /etc/letsencrypt/live/X.com-0002/privkey.pem SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES128-GCM-SHA256-ECD-E-SHA610: ECD-E-5 -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: ДЕНЬ -RSA-AES128-SHA: DHE-RSA-AES256-SHA256: DHE-RSA-AES256-SHA: ECDHE-ECDSA-DES-CBC3-ША: ECDHE-RSA-DES-CBC3-ША: EDH-RSA-DES-CBC3 -SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128-SHA256: AES256-SHA256: AES128-SHA: AES256-SHA: DES-CBC3-ША: DSS SSLHonorCipherOrder on  # Закодированные косые черты должны быть разрешены AllowEncodedSlashes NoDecode  # Контейнер использует уникальный не подписанный сертификат SSLProxyEngine On SSLProxyVerify Нет SSLProxyCheckPeerCN Off SSLProxyCheckPeerName Off  # держать хозяина ProxyPreserveHost On  # static html, js, images и т. д., предоставляемые из loolwsd # loleaflet является клиентской частью LibreOffice Online ProxyPass / loleaflet https://127.0.0.1:9980/loleaflet retry = 0 ProxyPassReverse / loleaflet https://127.0.0.1:9980/loleaflet  # WOPI discovery URL ProxyPass / хостинг / обнаружение https://127.0.0.1:9980/hosting/discovery retry = 0 ProxyPassReverse / hosting / discovery https://127.0.0.1:9980/hosting/discovery  # Основная веб-розетка ProxyPassMatch "/lool/(.*)/ws$" wss: //127.0.0.1: 9980 / lool / $ 1 / ws nocanon  # Консоль администратора websocket ProxyPass / lool / adminws wss: //127.0.0.1: 9980 / lool / adminws  # Скачать как, полноэкранная презентация и загрузка изображений ProxyPass / lool https://127.0.0.1:9980/lool ProxyPassReverse / lool https://127.0.0.1:9980/lool  
0
Теперь до «cURL error 60: издатель сертификата однорангового узла был помечен как недоверенный пользователем». Я использую самоподписанный сертификат, автоматически генерируемый контейнером Docker, и на моем экземпляре apache есть мой сертификат. Kyle H 6 лет назад 0
Пожалуйста, приложите к вашему вопросу вашу конфигурацию apache httpd, а также соответствующие строки в журнале сервера (обычно находятся в `/ var / log / apache2 /`). anx 6 лет назад 0
Я добавил конфигурацию apache для nextcloud и сотрудников в сети и добавил ошибки журнала из журнала ui / log / apache. Пожалуйста, дайте мне знать, если вы думаете о чем-нибудь :) Kyle H 6 лет назад 0
Почему вы используете порты 8890 и 9980? anx 6 лет назад 0
Легкая дислексия :) хорошая точка, хотя. Я проверю свою конфигурацию, чтобы убедиться, что она использует правильные порты через плату. Спасибо! Kyle H 6 лет назад 0

2 ответа на вопрос

0
anx

Одно предупреждение впереди: вам определенно НЕ следует использовать пароль passwordдля его инструмента администратора. Даже если вы намерены каким-то образом ограничить доступ, слишком легко ошибиться и пригласить злоумышленников.

Сертификат Docker-контейнера, который отображается как ненадежный, является ожидаемым поведением . Этот автоматически сгенерированный сертификат не имеет значения, если вы пересылаете установку CODE через apache.

По причинам, выходящим за рамки простого: «Я не хочу заботиться о сертификатах», рекомендуемая настройка CODE по своей конструкции полностью исключает возникновение проблем с сертификатами, предлагая вам настроить CODE в другом домене (с потенциально отдельным сертификатом), чем ваш nextcloud. монтаж.

Разместите ваше следующее облако в одном (под) домене, например, www.example.com, и настройте дополнительную запись в вашей конфигурации apache, например code.example.com, которая перенаправляет запросы на 127.0.0.1:9980 (игнорируя сертификат, полагая, что ни один злоумышленник не может настроить другую службу для этой комбинации порта и устройства).

Следуйте официальным рекомендациям, а затем поместите https://127.0.0.1:9980URL-адрес в конфигурацию apache для code.example.com по адресу (что-то вроде) /etc/httpd/conf.d/collaboraonlineCODE.confи общедоступный домен https://code.example.comвашей установки CODE в конфигурацию nextcloud по адресу (что-то вроде) https://example.com/settings/admin. Это гарантирует, что вы можете получить доступ к CODE так же, как nextcloud - на любом компьютере, а не только на том, на котором выполняется установка.

¹⁾ Таким образом, Docker-контейнер не содержит сертификат, что является довольно разумным выбором, учитывая, что CODE ни в коей мере не повышает безопасность.

О да, я не использовал пароль. Просто запутал его, чтобы он не был опубликован на публичном форуме. :) Я ценю ваш ответ. У меня есть сервер за брандмауэром, и я переношу все, используя один ipv4 ip. У меня есть блок адресов ipv6 / 64, который я мог бы использовать. Таким образом ,labora.X.com будет указывать на другой IP. Я не думаю, что это будет иметь большое значение, хотя? Я опубликую мой конфиг apache в оригинальном вопросе. Спасибо Kyle H 6 лет назад 0
Я думаю, что мой DNS может быть проблемой здесь, возможно? У меня есть все общедоступные службы в моем сетевом порту, перенаправленные через 1 IP-адрес, как указано выше Я используюlaboraonline.X.com для субдомена для образа докера, и теперь у меня есть его в файле hosts для разрешения 127.0.0.1. Я считаю, что это шаг в правильном направлении, и когда у меня будет больше времени, я могу повторить некоторые из модов, которые я сделал, чтобы попытаться исправить это. Вы говорите довольно хорошо о Nextcloud / Collabora, каково ваше мнение? Еще раз спасибо Kyle H 6 лет назад 0
В этом случае, я, вероятно, неверно истолковал ваш первоначальный вопрос. Ваши конфиги подразумевают, что вы ** используете ** переадресацию Apache, как рекомендовано. IP-адреса не имеют значения, так как ожидается, что вы будете использовать браузер, который в любом случае выполняет правильный SNI. Вы можете разместить два домена на одном и том же IP и позволить Apache выяснить это. anx 6 лет назад 0
запустите докер с `-e 'domain = example \ .com'` (не` cert_domain`, это не имеет значения, если вы все равно добавите прокси-сервер) и опубликуйте вывод `curl https: //laboraonline.example.com` из машина, к которой вы будете обращаться со всем этим. Это должно ответить на вопрос, есть ли что-то не так с настройкой вашего сертификата. anx 6 лет назад 0
спасибо за ваш подробный, полезный пост. к сожалению, у меня его пока нет, потому что сейчас он вызывает странную ошибку. https://stackoverflow.com/questions/44872711/installed-nextcloud-want-to-integrate-collabora-code-docker-image-servname (не могли бы вы взглянуть?) :) Nextcloud может видеть прикрепленное изображение докера к порту, он запрещает попытку подключения. тем не менее, этот пост был очень полезен для того, чтобы немного рассказать мне об обстоятельствах, связанных с проблемой, и я продолжаю возвращаться к ней в своем поиске неисправностей. Kyle H 6 лет назад 0
0
Kyle H

Не используйте свой собственный сертификат с nextcloud. Самоподписанный специальный просто отлично. У меня все еще не работает и работает, но эта ошибка пропущена.

Похожие вопросы