ไม่สามารถเข้าถึง collabora หลังจากติดตั้งใหม่


16

ฉันมีการติดตั้ง Ubuntu 16.04 ที่มีอยู่พร้อมกับติดตั้ง nextcloud /var/www/cloud(wordpress อยู่ในรูท) มันใช้งานได้ดีมาระยะหนึ่งแล้ว แต่เมื่อไม่นานมานี้ฉันได้ค้นพบ collabora เป็นทางเลือกแทน Google เอกสารและต้องการให้มันทำงานได้จริง เมื่อฉันพยายามเปิดเอกสารฉันได้รับข้อความแจ้งข้อผิดพลาด "Access Forbidden" ฉันได้ติดตั้ง collabora ตามคำแนะนำที่พบที่นี่

ฉันได้ตรวจสอบผลลัพธ์ของ lsof -i แล้วและสามารถเห็นนักเทียบท่าที่กำลังฟังใน 9980 กำหนดค่า URL ใน Nextcloud และเปล่าเปลี่ยวฉันไม่แน่ใจจริงๆว่าจะเริ่มแก้ไขปัญหานี้ได้อย่างไร หากใครจากชุมชนสามารถให้คำแนะนำแก่ฉันได้ซึ่งก็น่าทึ่งมาก ข้อมูลเพิ่มเติมบางอย่างอยู่ด้านล่าง

รายการจากข้อผิดพลาดapache.logอยู่ใน / var / log / apache2:

[Mon Jan 02 22:05:30.027625 2017] [authz_core:error] [pid 26396] [client <IPADDRESS>:54120] AH01630: client denied by server configuration: /var/www/html/cloud/data/.ocdata
[Mon Jan 02 22:05:32.314370 2017] [authz_core:error] [pid 3122] [client <IPADDRESS>:54123] AH01630: client denied by server configuration: /var/www/html/cloud/data/.ocdata

My Apacheเวอร์ชันที่ผ่านการฆ่าเชื้อแล้วสำหรับ collabora vhost :

<VirtualHost *:443>
  ServerName sub.domain.com:443

  # SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/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:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA$
  SSLHonorCipherOrder on

  # Encoded slashes need to be allowed
  AllowEncodedSlashes     On

  # Container uses a unique non-signed certificate
  SSLProxyEngine On
  SSLProxyVerify None
  SSLProxyCheckPeerCN Off
  SSLProxyCheckPeerName Off

  # keep the host
  ProxyPreserveHost On

  # static html, js, images, etc. served from loolwsd
  # loleaflet is the client part of 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    /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
  ProxyPassReverse           /hosting/discovery https://127.0.0.1:9980/hosting/discovery

  # Main websocket
  ProxyPassMatch    "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws

  # Admin Console websocket
  ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

  # Download as, Fullscreen presentation and Image upload operations
  ProxyPass   /lool https://127.0.0.1:9980/lool
  ProxyPassReverse           /lool https://127.0.0.1:9980/lool
  ServerAlias    sub.domain.com
</VirtualHost>

ที่อยู่ของอินสแตนซ์ nextcloud ของฉันคือ domain.com/cloud

เอาต์พุตของlsof -i | grep dockerฉันเชื่อว่านี่แสดงให้เห็นว่า docker container กำลังรับฟังปริมาณการใช้งานจาก localhost บน 9980 เพื่อส่งไปที่ container

docker-pr  1634     root    4u  IPv4  19492      0t0  TCP localhost:9980 (LISTEN)

ทฤษฎี : ฉันมีทฤษฎีที่ฉันอาจจะต้องติดตั้ง nextcloud อีกครั้งคราวนี้โดย nextcloud อยู่ใน webroot และบล็อกของฉันอยู่ในโฟลเดอร์ภายใน webroot เพราะความรู้สึกที่ฉันได้รับจากเอกสารคือ nextcloud คาดว่าจะเป็น บนเครื่องของตัวเองพร้อมชื่อโดเมนของตัวเองและบริการนี้เชื่อมต่อกับโดเมนย่อยของชื่อโดเมนรูทนั้น ดังนั้น domain.com/cloud จึงขว้างสิ่งทั้งหมดมาเป็นลูป

ถ้าใครสามารถให้คำแนะนำแก่ฉันได้ฉันก็จะรู้สึกซาบซึ้งอย่างมากเพราะ nextcloud เป็นผลิตภัณฑ์ที่ฉันสนใจลงทุน

คำตอบ:


1

โพสต์โดย Mike Griffenกล่าวถึงปัญหานี้เพียงอย่างเดียวและดูเหมือนจะเป็นทางออกที่ง่าย

Authz_core:error Client Denied by Server Configuration

... mod_authz_coreเปิดตัวใน Apache2.3 สิ่งนี้จะเปลี่ยนวิธีการประกาศการควบคุมการเข้าถึง

จาก:

Order allow, deny
Allow from all

ถึง:

Require all granted

ซึ่งหมายความว่าการกำหนดค่าทั้งหมดสำหรับไดเรกทอรีตอนนี้เป็นสิ่งที่ชอบ:

<Directory /path/to/directory>
     Options FollowSymlinks
     AllowOverride none
     Require all granted
</Directory>

รีสตาร์ท apache และมันจะทำงานได้ดี


คำตอบที่แก้ไขเพิ่มเติมเพื่อรวมคำอธิบายเพิ่มเติมก็พยายามที่จะแสดงให้เห็นถึง googling (หรือในกรณีนี้เป็ด - เป็ด - go'ing) ข้อความข้อผิดพลาดที่เกิดขึ้นจริง 'authz_core: ข้อผิดพลาด' ครั้งเดียวและการเลือกผลแรกมักจะบันทึกคำตอบคำถาม วนรอบที่นี่
Steve Hope

ผู้คนไม่รู้ว่าบทความสุ่มนั้นถูกต้อง ... อย่างน้อยในเว็บไซต์ SE ที่เรามีระบบการลงคะแนน (การลงคะแนนที่ยอมรับไม่น่าเชื่อถือเสมอไป!) และอนุญาตให้ผู้ใช้ทุกคนแก้ไขเพื่อนำไปใช้ในระดับหนึ่ง เครื่องมือค้นหามีการค้นหาที่นี่เช่นกัน โดยการให้คำตอบที่ดีเราให้ผลลัพธ์การค้นหาที่ดี
Zanna
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.