Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
We have several LTI tools that work fine on one server. Recently I've tried to install them on another server that is behind a firewall. When I use the URL form and click "Submit," nothing happens. When I install with the "Paste XML" method, it installs, but then when I launch the tool I get a 500 error.
It looks like Canvas is trying to ping the URLs before install and launch. I understand the security rationale, and I can request that we open ports on that server to the Canvas subnet, but I would like to confirm that this is what is happening.
Thanks in advance!
@ag3811 I am not aware of any pinging during an LTI launch.
Canvas sends the launch request to your server using standard HTTPS, port 443.
The 500 error is most likely coming from your server.
"We have several LTI tools that work fine on one server"
Do you have a separate URL for the servers you copied to?
Or are they behind a load balancer?
Thanks, Garth, but I can tell the difference between our 500 errors and Canvas 500 errors.
It's a different URL.
@ag3811 apologies, screen shots help : )
This part of the error appears to be coming from your server:
i.e. the call to your server "https://columbiasce.test.instructure.com/..." returned "server responded with a status 500"
That suggests that Canvas is finding your server and sending the launch request, your server is receiving the launch request and failing.
Have you looked at the web server logs on your end?
Do you see any activity at all?
You should find entries with status 500.
That is my best guess.
Yes, Garth, I have looked at my logs. There is no 500 error, and NO access at all from the canvas server to that server. You are misreading that Chrome message.
@ag3811 have you tried to browse to your server with your browser?
Do you see web server log entries for your manual efforts?
If you seen no log entries when trying to access with a browser, then I would ask if the URL is pointing where you think it is?
What is the public IP address of your server?
What result do you get from a dns lookup?
If all that is fine....
I would try removing all firewalls if possible.
When I am developing I put an entry in my hosts file to point at my dev machine.
This way when I launch from Canvas, the LTI runs direction from the machine I'm on with no interference.
Try this on your server (if you have a ui) or from a machine on the local network.
Yes, Garth, I have browsed to the server many times with my browser. The URL is pointing where I think it is.
Just now I was able to load the exact URL. I tried to install the LTI tool via the "By URL" method and the Submit button did not add the tool. I tried the "Paste XML" method, and got the same 500 error from the Canvas server.
I have found an answer to part 2 of my question. I had been copying and pasting the XML from Chrome, which adds some white space for visibility, particularly around the URLs:
I edited the file in a text editor and removed the white space around the URLs, and it worked:
I will look into DTDs to get Chrome to stop putting the white space in there. If anyone has leads, please let me know!
Part 1 of my question is still unanswered. If necessary, I will post that in another thread.
Did you try the LTI launch directly from your development machine?
Edit your host file, point your domain to localhost (i.e. your dev box), this will allow the LTI to launch directly and you can debug to confirm the launch request.
If you are able to successfully do that, then the XML file you pasted into Canvs is correct.
If you are not able to successfully do that then the XML file needs further inspection.
As I said, Garth, it worked when I took out the white space. I did not need to touch my hosts file.
"Part 1 of my question is still unanswered"
-- what was "part 1" of your question?
sorry for my confusion, just trying to help.
To participate in the Instructure Community, you need to sign up or log in:
Sign In