-
Notifications
You must be signed in to change notification settings - Fork 663
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows 10 Client very difficult after sync of particular files has failed #3996
Comments
I was under the impression that OC-ETag has been supported in the client for a very long time. (since about 1.8.x) |
Now I found out how to get the log (F12) and of course, the problems which I was having, and have cleared by manual intervention, are long gone. If I have any more problems, I'll check it straight away. I did notice this recurring message group:
|
HA well it seems maybe that is the problem, as noted above: A sync just failed again, and the only log entries for that time (the last entries in the log, I dived right in) are these:
|
MEA CULPA - Sorry! I had this in my nginx-config:
which of course is plain crazy, it was returning a 404 to all files CONTAINING "nginx" + ".conf" - and since I was just working with a lot of such files (PHP-FPM + Nginx = FAST), it made it look like a general problem since occuring frequently. What it should be (i.e. specific to topmost dir):
Final notes/wishes:
My Nginx-Config for PHP-FPM (running on a Plesk VPS, but outside of Plesk, an own compiled PHP): Folgende Anweisung werden am Ende von jedem Server-Block, also in "server { ... }" context, includiert.include "/var/www/vhosts/{plesk-webspace}/{domain-docs-dir}/nginx-for-own-phpfpm-owncloud.conf";set $sockname ##YOUR-WS##; Plesk Web Server settings:NO PHP supportSmart static files processing = NeinServe static files directly by nginx = NeinAfter each modification: service nginx restartNginx Server Error log: /var/log/nginx/error.logNginx Domain Error log: /var/www/vhosts/system/{domain}/logs/error_logFPM-Log (Server + alle Domains): /var/log/php5-fpm.loghttp://wiki.nginx.org/Pitfallshttp://www.php.net/manual/de/regexp.introduction.phphttps://doc.owncloud.org/server/8.1/admin_manual/installation/nginx_configuration.htmlPlesk's "location /" sends the resource request to Apache via Ports 7080/7081Plesk's "location /" is the ONLY prefix string location in the Plesk config,which means it's always the winning prefix location, and gets noted as such.- UNLESS we add any longer prefix string locations...Implying that if we want to use Nginx for everything, then we must add"location" statements matching ALL resource types we expect, with "try_files".Security via e.g. "try_files" is NOT an issue at "location /", that's then Apache's job.if ($server_port = 80) { rewrite ^ https://$server_name$request_uri? permanent; } Adds the specified charset to the “Content-Type” response header field.Context: http, server, location, if in locationcharset utf-8; Disable gzip to avoid the removal of the ETag headerSeems fixed in OC8.1 - owncloud/core#15227, owncloud/core#9005Background: https://github.com/owncloud/client/wiki/Etags-and-file-idsClient + Server: #3946gzip off;Add headers to serve security related headersadd_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; add_header X-Content-Type-Options nosniff;add_header X-Frame-Options "SAMEORIGIN";add_header X-XSS-Protection "1; mode=block";add_header X-Robots-Tag none;error_page 403 /core/templates/403.php; client_max_body_size 10G;fastcgi_buffers 64 4K; error_log /var/log/nginx/error.log debug;location = /robots.txt { allow all; log_not_found off; access_log off; } Then comes regex processing, *** which terminates on the first match ***, and thecorresponding location configuration is used. If no match with a regular expressionis found, then the configuration of the prefix location remembered earlier is used.SO the order in which regex locations appear is IMPORTANT!(?: ... ) non-capturing, siehe https://de.wikipedia.org/wiki/Regul%C3%A4rer_AusdruckHide sensitive areas not needing direct user accessFirst regex match attempt ensures deny all really happens on matchlocation ~ ^/(?:.|3rdparty|config|console|db_structure|indie|lib|occ|templates).* { deny all; return 404; } ownCloud 8 nutzt PATH-INFO to .js and .php, e.g. /index.php/core/js/oc.js,/index.php/core/ajax/share.php, /index.php/apps/files/ajax/list.php, /index.php/avatar/TimReeves/128PHP-Handling: Best of Plesk and ownCloud and Web-Forum articlesA match here pre-empts Plesk's "location /", sends the script to PHP-FPM"(?U)" sets internal "ungreedy" option, i.e. to FIRST ".php" - NEED THIS HERE for PATH-INFO requestslocation ~ ^((?U).+?.php)(/.*)?$ { TR: See http://wiki.nginx.org/HttpFastcgiModule#fastcgi_split_path_infoTR: Directive populates $fastcgi_script_name + $fastcgi_path_infoTR: BUT there's a problem: http://trac.nginx.org/nginx/ticket/321fastcgi_split_path_info ^((?U).+.php)(/?.+)$; Requested PHP Scripts MUST exist exactly as namedtry_files $fastcgi_script_name =404; try_files has emptied $fastcgi_path_infofastcgi_param PATH_INFO $path_info; You can add any application-special headers to $_SERVER herefastcgi_param PATH "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"; TR: Sets SCRIPT_FILENAME as $document_root$fastcgi_script_nameTR: Meaning that $fastcgi_script_name MUST be correct now!include /etc/nginx/fastcgi.conf; access_log off;} Plesk's Directives for Web User Access are not needed on this domain!The "generic" handling of static resourcesNote that they are all formulated securely with "try_files".PUT MOST FREQUENT FIRSTtry_files "uses the first found file for request processing; the processing is performed in the current context"Frequent possibly modified content valid 1 day in Cachelocation ~* .(js|css|htm|html|xhtml|xml|json)$ { add_header Debug Frequent;} Pics and Fonts valid 30 Days in Cachelocation ~* .(png|jpg|jpeg|gif|ico|bmp|img|ttf|otf|eot|svg|svgz|woff)$ { add_header Debug PicFont;} Zips + PDF valid 2 weeks in Cachelocation ~* .(bz2|exe|gz|pdf|rar|tgz|zip)$ { add_header Debug ZipPDF;} Media files (large) valid 1 week in Cachelocation ~* .(ac3|avi|flv|iso|mp3|mp4|mpeg|mpg|ogg|qt|rm|swf|wav)$ { add_header Debug Media;} Infrequent possibly modified content valid 3 days in Cachelocation ~* .(dat|doc|docx|dts|ppt|pptx|tar|txt|xls|xlsx)$ { add_header Debug Infrequent;} location = /fpmstatus { fastcgi_pass "unix:/usr/local/php-fpm-pool.d/$sockname.sock"; include /etc/nginx/fastcgi.conf; } Virtually nothing should arrive here: We've already (hopefully) done anyspecial protected / allowed locations, all ".php" scripts, all static assets.location ~* /$ { index index.php; } location ~ ^/.+ { Allow the unrecognised type to be a file or directory, redirect all else to /index.phptry_files $uri $uri/ /index.php; Let this be logged – we want to know of anything untoward!} Finally, switch gzipping ongzip on; |
Yes I have read:
o https://doc.owncloud.org/desktop/2.0/architecture.html
o #3946
I recently updated my Nginx server config and after reading that OC 8.1 now sends the OC-Etag header I brashly added gzip. Too soon, seems like that's going to be in Client 2.0.2, I have 2.0.1. So for a few hours of work (windows 10 PC) about a dozen files got out-of-sync with the server due to the known Etag issue.
In this case - and apparently only on windows - it's VERY hard to get it back to syncing:
Other methods, like editing the original file, saving it from Ultra-Edit to "..._2", or even moving it to a subdir or temporarily out of the syncing area, don't work. It seems that somehow the sync client (2.0.1 Windows) stores or uses a file-id in the file itself, so moving it around does'nt help.You really have to create a new file and heave the content across. What a drag...
Extended Wishlist:
(1) to choose the GUI language, and
(2) to optionally NOT display the ignored files in the activity log GUI (can't see the wood for the trees)
(3) let people know when all clients have been updated to recognise OC-Etag
The text was updated successfully, but these errors were encountered: