I have followed seafile readthedocs io guide and after basic set up my seafile server was working fine. I had no problems hosting seafile server on linux, and acessing and synchronizing files on linux, windows and android clients. After a week or so, I decided what it would be nice to add ssl certificate.
I created and installed my own certificate with letsencrypt and certbot and after that I configured nginx according to the guide. But now I’m having some problems.
I can access https : / / seafile mydomain com web service and upload files. Same with android client.
But on windows client, the most important one to me, I get “Unhandled http redirect from server. Please check server configuration.” error.
Things I have tried but didn’t work for me:
-
proxy_set_header Host $host:$server_portas seen in other thread - in windows client application change client address to https
- checked seahub_settings.py and ccnet.conf. Https is set
- deleting sqlite .db file
At this point I am lost, and don’t know where to look. I would be really happy, if someone could help me or at least point me in the right direction.
Here is my configuration file
server {
listen 80;
server_name seafile mydomainname com;
server_tokens off;
# location / {
rewrite ^ https :// $http_host$request_uri? permanent; # force redirect http to https
# }
location /.well-known/acme-challenge {
alias /var/www/letsencrypt/.well-known/acme-challenge;
location ~ /.well-known/acme-challenge/(.*) {
add_header Content-Type application/jose+json;
}
}
# error_log /var/log/nginx/seafile.mydomainname.com.error.log debug;
}
server {
listen 443 ssl http2;
server_name _;
server_tokens off;
ssl_protocols TLSv1.2;
# ssl_certificate /etc/ssl/private/cacert.pem;
# ssl_certificate_key /etc/ssl/private/privkey.pem;
ssl_certificate /etc/letsencrypt/live/seafile.mydomainname.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/seafile.mydomainname.com/privkey.pem;
ssl_stapling on;
ssl_stapling_verify on;
resolver 192 168 0 1;
ssl_dhparam /etc/ssl/private/dhparam2048.pem;
ssl_ecdh_curve secp384r1;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:EECDH:EDH:!MD5:!RC4:!LOW:!MEDIUM:!CAMELLIA:!ECDSA:!DES:!DSS:!3DES:!NULL;
ssl_prefer_server_ciphers on; ssl_session_timeout 10m; proxy_set_header X-Forwarded-For $remote_addr;
add_header Strict-Transport-Security "max-age=31536000;
includeSubDomains";
location / {
proxy_pass http :// 127 0 0 1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto https;
proxy_http_version 1.1;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s; # used for view/edit office file via Office Online Server
client_max_body_size 0;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
client_max_body_size 0;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
proxy_request_buffering off;
proxy_http_version 1.1;
}
location /seafmedia {
rewrite ^/seafmedia(.*)$ /media$1 break;
root /opt/seafile/seafile-server-latest/seahub;
}
location /seafdav {
proxy_pass http // 127 0 0 1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_http_version 1.1;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s; # This option is only available for Nginx >= 1.8.0.
client_max_body_size 0;
proxy_request_buffering off;
access_log /var/log/nginx/seafdav.access.log;
error_log /var/log/nginx/seafdav.error.log;
}
# error_log /var/log/nginx/seafile.mydomainname.com.error2.log debug;
}
dots in urls were edited out, because as a new member I can’t post links
p.s. sry for my poor english.