Tôi có cài đặt máy chủ Seafile trên máy chủ. Tôi cũng đã mua một tên miền cho máy chủ và cấp chứng chỉ cho nó. Seafile được phục vụ bằng Apache 2.
Trang Seafile chính đang hoạt động tốt, tên miền vẫn nằm trong thanh url khi tôi duyệt qua và chứng chỉ có hiệu lực. Tuy nhiên, khi tôi cố gắng truy cập máy chủ tệp seafile, ví dụ: bằng cách cố gắng tải xuống một tệp từ trình duyệt, tên miền không còn xuất hiện nữa và thay vào đó, ip của máy chủ của tôi được hiển thị ở đó, đồng thời nhận được cảnh báo về chứng chỉ không hợp lệ, vì tên trong url (ip máy chủ) không không khớp với tên miền mà chứng chỉ dành cho.
Tương tự, vì máy khách Seafile cũng truy cập máy chủ tệp Seafile nên nó cũng đưa ra cảnh báo về chứng chỉ không hợp lệ.
Tôi nghi ngờ đó là do cấu hình Apache của tôi bị lỗi. Dưới đây là tệp cấu hình của tôi cho bất kỳ ai muốn hiểu ý nghĩa của nó và có thể khám phá ra những gì tôi đã làm sai.
Tên miền được đổi thành "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>