April 3, 2020 at 12:44 am #14755
I am having a problem using WP eStore Download Manager. I have configured a Product with a Digital Product URL and made it Downloadable because I do not want to reveal the real URL. The real URL can be used directly and the file downloads without issue. If I disable the encrypted location (uncheck Downloadable) it will also download. It is an MP4 file (over 1GB), but I have also created a ZIP version for testing and got the same results. Under the Add On Settings I have tested every single Download method. Nothing works properly. The best result I can get is to download a zero KB file with the correct file name. I can tell it is going to be a problem immediately because it never reports the file download size at the start of the download. The log indicates that Download Manager is oblivious to the problem stating: SUCCESS : DL completed with no server-side errors detected.
I really don’t want to have the true URL identifiable by the customer. Is there anything else I can try with the WP eStore Download Manager to get this to work? Or I will I have to try a different download manager?April 3, 2020 at 2:38 am #80422
Your server is likely not able to handle a 1GB download via PHP streaming (which is required for the encrypted download).
What the PHP RAM memory limit of your server currently? And can this be increased? Ask your hosting provider this question.
The following is a good post to read (for general understanding):
If your server is not capable to handle the large file’s encrypted download (due to having less power), you can try the Amazon S3 option where the file is stored on Amazon S3 instance. We have integration with S3:April 3, 2020 at 8:02 pm #80423
My hosting company said it was set to 512MB and that they rarely change it for anyone. But they agreed to change mine to 1024MB. It didn’t fix the problem. I am also forced to wonder about the wisdom in this download method because if my site is currently low use and it doesn’t work when I am the only person attempting to download a file. I can only imagine multiple people trying to download different files at the same time would be impossible.April 4, 2020 at 12:28 am #80424April 4, 2020 at 4:07 am #80425
I am currently using WebHostPro (webhost.pro) and their Advanced VPS plan.
I am currently investigating using Amazon S3. But I don’t quite understand how that would avoid the VPS bottleneck, if that is the issue.April 4, 2020 at 7:44 pm #80426
It looks like I might be able to implement mod_xsendfile. Would this resolve the issue and allow me to have a hidden download URL?
Or should I just invest the time in implementing Amazon S3 instead?April 4, 2020 at 11:15 pm #80427
I personally feel amazon s3 integration will offer a superior solution. Once you set it up, you will no longer be reliant on the hosting provider and the server’s configuration for the download dispatching.
It is somewhat easy to get started with amazon S3 also. The cost for amazon S3 is negligible. I use it myself and sometimes my s3 bill is like $2 for the whole month.April 5, 2020 at 1:05 am #80428
OK. I am having some difficulty understanding the benefit of using S3. I have gone to the trouble of setting up an S3 account specifically for my website and uploading the file to S3 and linking my S3 account to eStore. Now I have linked the file from S3 to the product and generated a encrypted link from the Admin Functions. The generated link works fine. But you are just passing off the download to S3. I now have a long link to the file on S3 that is completely clear. I can copy and past that link to another browser on my PC and download the file over and over directly from S3. Anyone can redistribute this link as long as it remains active. I don’t understand how this is a good or secure distribution method.April 6, 2020 at 12:46 am #80429
Did you make the S3 files private? Private files can’t be shared since that link will expire later. Any S3 link to a private file will expire after some time (there is a setting that can be used to customize how long the s3 file’s link will remain active). WP eStore will use the API to fetch that Private file and serve the download. Does that make sense?April 6, 2020 at 8:54 pm #80430
Actually, after reviewing everything, I realize now it is perfectly OK to use Amazon S3. However the default “AWS S3 Presigned URL Expiry” should be 30 seconds or even less. And it should be used in conjunction with the “Downloadable” setting for digital content to be delivered via an anonymous encrypted download link. Because the link you deliver to the customer is encrypted and then only when they click that link does eStore generate the S3 specific URL with an expiration time. The download attempt is only initiated with the customer follows the encrypted eStore link and that converts to the S3 timed link. It only takes a matter of seconds to go from the encrypted eStore link to the S3 link and initiate the download. Once the download starts, the link can expire and has no effect on the in transit download. After thirty seconds that link is of no use to anyone and it has no effect on the in progress download. My recommendation is to set that default expiry time to a much lower number. The S3 link should be short lived and the customer should rely on the eStore encrypted link to get to the file.
- You must be logged in to reply to this topic.