Replies: 5 comments 1 reply
-
@clriis
What client 'version' are you using? It is rare for this feature to not work ... but this output line specifically has me asking some questions. Your answer to this question will be rather revealing.
This issue sounds similar to #2447 where the fix was:
So what should 'proxy_pass' be configured with? This directive specifies the proxied server to which requests should be forwarded. In this case, requests matching The IP address used in the proxy_pass directive should be the IP address of the backend server that will handle the proxied requests. In documentation configuration, 127.0.0.1 is the loopback address, meaning the backend server (onedrive) is running on the same machine as the nginx server. Does your 'onedrive' application configuration match your nginx configuration? Please read: https://github.com/abraunegg/onedrive/blob/master/docs/USAGE.md#webhook_listening_host-and-webhook_listening_port Are there any local / host level firewall configuration getting in the way? |
Beta Was this translation helpful? Give feedback.
-
OK .. So .. right now I do not have an environment to 100% test anything related to webhooks, however when I enable webhooks using the default configuration in the development context I am working in yields the following:
So .. my thoughts here are that:
needs to be
as potentially Microsoft have made a change to the API so that the webhook URL must be HTTPS and no longer a HTTP URL. Now you mentioned everything is correctly setup ... so things to check:
|
Beta Was this translation helpful? Give feedback.
-
Right. How can I test if the onedrive client is listening on port 8888, when it EXITS after the MS error message? (I do believe it does listen though, because when started with system.d it 'survives' for a little while and I have been able to identify it with netstat). Anyway, I got a bit further, and the Error msg I get now is 401:
I was "upgraded" to the 401 message when I moved the proxy snippet to the SSL (443) section in the Nginx config (I have included the full Nginx configuration at the bottom of this message) In the onedrive client config file, my url line is: My URL is reachable from outside through HTTPS and is responding There is no other app/service using port 8888 I have renewed the OneDrive token with Microsoft I can reach the My Nginx config:
|
Beta Was this translation helpful? Give feedback.
-
Whilst that is the behavior of v2.4.x client for 'webhooks' , it is not the behavior of the v2.5.x client. Unfortunately that behavior of the v2.4.x client will not be changed. All real development/change stopped on v2.4.x 18 months ago with all effort going towards v2.5.x. My suggestion here is to look at compiling manually v2.5.0 RC2 or #2728 which is my development branch for what will become RC3, to help you diagnose further:
Once you compile one of the v2.5.x client versions, the 'webhook listener' remains operational with the port running .. to allow you to debug further. Once compiled, my suggestion is to also run the client manually (ensuring any systemd service is stopped / disabled) using: Dont install v2.5.x via From your firewall, you need to port forward your external IP TCP/80 and TCP 443 - which you said you already have done and have working - just double check this that things are being correctly reverse NAT'd at the firewall and that all the correct connection tracking is in place. When your nginx configuration (from above) is added to how things should be setup is visualised, this is diagram should reflect this: Please evaluate your environment in reference to this |
Beta Was this translation helpful? Give feedback.
-
@clriis https://github.com/abraunegg/onedrive/blob/onedrive-v2.5.0-release-candidate-3/docs/webhooks.md |
Beta Was this translation helpful? Give feedback.
-
I have previously been using webhooks on onedrive with Lighttpd as a proxy and has been working brilliantly.
Now I'm trying with Nginx and it's giving me a headache.
I have setup Nginx with the config like documented, using this snippet:
The server starts OK and is HTTPS certified.
But I get this error:
When I run onedrive as a service (systemctl start onedrive@.service) I would expect the port 127.0.0.1:8888 to be listening but I get nothing when running lsof -i :8888 and also I cannot telnet it.
Is that not a correct assumption?
Beta Was this translation helpful? Give feedback.
All reactions