Comments (8)
Hi Andrey! Seems strange that you'd experience a difference between http and https. We're using this against https in production ourselves. But, I see the URL you're using points to an actual image. This project enables creating screenshot images of web pages easily. So I'm not sure what your use case is here?
Also, If you check the code we only give a 404 response if phantomjs is not able to load the URL, so maybe you had network issues when you experienced this?
from screenie-server.
It's not all http links, but this one for sure. The use-case has this image as part of a page being rendered by screenie, and it fails to load using https.
I've tried this on a couple of machines on different networks. It's definitely an issue with phantomjs or further underlying dependencies. My present guess is that imgix.net switched certs to one not supported by alpine, but I'll keep looking.
from screenie-server.
Ah, I see. I do know phantomjs has a lot of issues, and one of them being that some URLs might not load in a larger page. There's issues like even this newer one, but I know I've seen older issues about the same.
So I don't think it's an alpine related issue. Have you tested this page with phantomjs outside alpine?
We currently use this ourselves in an alpine Docker container with HTTPS pages and resources without problems, but we only render pages we control the content of.
So I'm going to close this issue for now. Please feel free to re-open if you find some specific changes/configurations we can do to phantomjs that improves its loading of URLs.
from screenie-server.
Well, this tiny file definitely breaks it. It works when installed with npm on macOS, and so seems unlikely an issue with phantomjs or node.
As I said in the title, this only affects some https URLs — there are pages that load fine (e.g. https://google.com), it's just that ours stopped working a few weeks ago.
If you rely on this to work in production, I'd recommend at the very least having a continuous monitor running so that you know if it ever breaks for your URLs as it did for ours.
I'll keep digging in the meantime. Is there a Dockerfile you can share for me to work off of in trying to fix this?
from screenie-server.
You can use our Docker container published here: https://hub.docker.com/r/eliksir/screenie-server/
My best guesses right now would be an SSL issue like you mentioned, or that some images take a long time to load and that we render the output before they are loaded. I see that phantom-pool
which we use has a newer release which also supports passing more options directly to phantomjs, like ignore-ssl-errors
which might help if SSL is the issue.
We have some updates and improvements planned for this server soon, and if we manage to figure this out together we'll certainly make sure to add fixes for this issue too.
from screenie-server.
Yup, I'm using that docker image. Do you mean to keep the Dockerfile that you used to generate it proprietary, or am I missing where I can get it? Happy to help if I can figure out a way to get it working (would prefer not to ignore SSL errors, but can be a last resort).
from screenie-server.
Ah, good of you to mention the Dockerfile. It was kept outside of this repo unintentionally, so I've now merged the Dockerfile into this repo so you can have a go. :)
I'm guessing this is an Alpine issue as you pondered initially, since as you can see by the Dockerfile, we have to use a specific build of PhantomJS to get it working in Alpine. I can't recall all the details off-hand as there is a while since I dug into this and set up the image, but IIRC, there were build issues and/or runtime issues when I attempted to use a vanilla version. Would be happy to change it if you dig up something better that also solves your case!
Reopening to track this, as it does seems to be an issue with the Docker image we provide.
from screenie-server.
Thanks! Indeed it looks like following these instructions to update the certificates resolves the issue. Will make a PR.
from screenie-server.
Related Issues (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from screenie-server.