Cannot create users or change site settings

123 views
Skip to first unread message

anthony.mor...@gmail.com

unread,
Dec 14, 2012, 10:07:59 AM12/14/12
to canvas-l...@googlegroups.com

(above fig. 2)


(above fig. 1)

I’m using Ruby on Rails 2.3.14 to develop Canvas LMS in a development environment, deploy to staging with Capistrano for testing and finally deploy to production where the app is running in Passenger Standalone on Apache web server.
Canvas functions appropriately in both development and staging environments using strictly http protocol to handle requests. I am able to create courses, assignments, add users alter settings throughout the site as administrator and verify all information is saved to the database.

However on production I cannot add users or alter settings in the Site Admin section of the application. (I can still create courses and assignment/quiz material without error).

1. When I try to add a user an "Ajax Error:0" appears (fig 2.) at the same time I receive the obscure error (fig. 1) yet no query or method calls are written to the production.log file or the error_reports, which leads me to believe the request is not being accepted by server and processed by the application at all.

2. When I select the checkbox to enable [Global CSS/JavaScript] and attempt to “Update Setting” the page reloads with the checkbox unchecked.

The major difference between staging and production is the use of secure http (https). The production environment uses a load balancer/ssl-accelerator that handles the requests in HTTPS, then passes the request on to the back-end apache web server in HTTP and the webserver runs passenger in standalone mode to process the request.

1. How is it possible that I can change setting at the course level but not site admin level now that https is enabled?

2. as anyone face a similar "Ajax Error:0" (fig. 2) that prevented the application from processing the create user request?


Steve Hillman

unread,
Dec 14, 2012, 11:21:32 AM12/14/12
to canvas-l...@googlegroups.com
We had the same problem when we moved our production nodes behind and F5 load balancer and offloaded the SSL to the F5. 

Add this line to your VirtualHost config on each of your nodes:

  RequestHeader set X-Forwarded-Proto https

This tells Canvas (well, Rails) that even though it's running on http, it should use "https" URLs in any links it builds. What's happening is that it's creating "http://..." URLs for the AJAX calls which are then failing

anthony morgan

unread,
Dec 14, 2012, 1:27:42 PM12/14/12
to canvas-l...@googlegroups.com
You were right, made the changes and now it works. Thank you!
Reply all
Reply to author
Forward
0 new messages