ฉันมีการติดตั้งเซิร์ฟเวอร์ Seafile บนเครื่องเซิร์ฟเวอร์ ฉันได้ซื้อชื่อโดเมนสำหรับเซิร์ฟเวอร์และออกใบรับรองให้ด้วย Seafile ให้บริการโดยใช้ Apache 2
ไซต์หลักของ Seafile ทำงานได้ดี ชื่อโดเมนยังคงอยู่ในแถบ url ขณะที่ฉันเรียกดู และใบรับรองมีผลบังคับใช้ อย่างไรก็ตาม เมื่อฉันพยายามเข้าถึงเซิร์ฟเวอร์ไฟล์ seafile เช่น ด้วยการพยายามดาวน์โหลดไฟล์จากเบราว์เซอร์ ชื่อโดเมนไม่ปรากฏอีกต่อไปและ ip ของเซิร์ฟเวอร์ของฉันถูกเปิดเผยที่นั่นแทน ในขณะที่ได้รับคำเตือนเกี่ยวกับใบรับรองที่ไม่ถูกต้อง เนื่องจากชื่อใน URL (ip ของเซิร์ฟเวอร์) ไม่ ไม่ตรงกับชื่อโดเมนที่เป็นใบรับรอง
ในทำนองเดียวกัน เนื่องจากไคลเอ็นต์ Seafile เข้าถึงเซิร์ฟเวอร์ไฟล์ Seafile ด้วย จึงส่งคำเตือนเกี่ยวกับใบรับรองที่ไม่ถูกต้อง
ฉันสงสัยว่าเป็นเพราะสลิปในการกำหนดค่า Apache ของฉัน ด้านล่างนี้คือไฟล์การกำหนดค่าของฉันสำหรับทุกคนที่ต้องการทำความเข้าใจและอาจพบว่าฉันทำอะไรผิด
เปลี่ยนโดเมนเป็น "example.com"
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Alias /media /home/debian/seafile/seafile-server-latest/seahub/media
<Location /media>
Require all granted
</Location>
# seafile fileserver
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteEngine On
RewriteRule ^/seafhttp - [QSA,L]
# seahub web interface
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
</VirtualHost>
</IfModule>