I have an application i'm installing on my application server. I've been using WEBrick and for now i'd like to just keep using it working in prototype development mode. This works fine on my development machine using both http and https, where the host is 'localhost' (ports 3000,3001). It also works fine on the application server http port 3000. The public/index.html also comes up fine using ssl (port 3001), but access to pages that call a controller fail with following message:
x.x.66.67 - - [04/Mar/2010:17:28:43 MST] "GET /tags HTTP/1.1" 500 948 https://x.x.x.x:3001/ -> /tags 'tags' is the name of my model, the request for this error is https://x.x.x.x:3001/tags See below for the full startup of WEBrick, initial index page retrieval, and then the request for the tags info. Also below is the script i'm using to start WEBrick. That's copied from various examples in various blogs. It seems popular. I am NOT running two WEBrick's, just want to run the one copy, all ssl, on port 3001, or whatever. I do have tomcat running and serving on 443, and also an instance of apache. I can't see why they'd be involved though. Using self generated cert. I've been looking at asset_host setting, and anything else i can google, but i can not find anything that tells me what the problem is. I suspect it must have something to do with redirection and dropping the protocol, or rather using http rather than https, or maybe it's dropping the port. Thanks for any clues, signed, confused (Bob). ############################################################## r...@sevenof9:~/kbrr$ ./script/server_ssl -e production => Booting WEBrick... => Rails application started on https://x.x.x.x:3001 => Ctrl-C to shutdown [2010-03-04 17:27:22] INFO WEBrick 1.3.1 [2010-03-04 17:27:22] INFO ruby 1.8.6 (2007-09-24) [i486-linux] [2010-03-04 17:27:22] INFO Certificate: Data: Version: 1 (0x0) Serial Number: 80:f2:ab:75:5a:02:94:d7 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US,.... stuff Validity Not Before: Mar 3 18:28:16 2010 GMT Not After : Feb 29 18:28:16 2020 GMT Subject: C=US, .......stuff Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ce:61:6d:39:5f:be:ba:86:c8:b1:20:5b:71:b4: etc f7:c5:bb:69:d4:31:01:08:07 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption aa:f6:e6:71:aa:d6:d1:3e:b7:46:f6:5c:3d:5a:d3:71:a1:c2: etc 27:61 [2010-03-04 17:27:22] INFO WEBrick::HTTPServer#start: pid=8455 port=3001 x.x.66.67 - - [04/Mar/2010:17:28:29 MST] "GET / HTTP/1.1" 200 1341 - -> / x.x.66.67 - - [04/Mar/2010:17:28:29 MST] "GET /javascripts/prototype.js HTTP/1.1" 200 129738 https://x.x.x.x:3001/ -> /javascripts/prototype.js x.x.66.67 - - [04/Mar/2010:17:28:30 MST] "GET /javascripts/effects.js HTTP/1.1" 200 38675 https://x.x.x.x:3001/ -> /javascripts/effects.js x.x.66.67 - - [04/Mar/2010:17:28:43 MST] "GET /tags HTTP/1.1" 500 948 https://x.x.x.x:3001/ -> /tags ############################################################## ############################################################## r...@sevenof9:~/kbrr$ cat script/server_ssl #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config/boot' require 'webrick' require 'webrick/https' puts "=> Booting WEBrick..." OPTIONS = { :port => 3001, :ip => "x.x.x.x", :environment => (ENV['RAILS_ENV'] || "development").dup, :server_root => File.expand_path(RAILS_ROOT + "/public/"), :pkey => OpenSSL::PKey::RSA.new( File.open(RAILS_ROOT + "/config/certs/server.key").read), :cert => OpenSSL::X509::Certificate.new( File.open(RAILS_ROOT + "/config/certs/server.crt").read), :server_type => WEBrick::SimpleServer, :charset => "UTF-8", :mime_types => WEBrick::HTTPUtils::DefaultMimeTypes, :debugger => false } ENV["RAILS_ENV"] = OPTIONS[:environment] RAILS_ENV.replace(OPTIONS[:environment]) if defined?(RAILS_ENV) require RAILS_ROOT + "/config/environment" require 'webrick_server' OPTIONS['working_directory'] = File.expand_path(RAILS_ROOT) class SSLDispatchServlet < DispatchServlet def self.dispatch(options) Socket.do_not_reverse_lookup = true server = WEBrick::HTTPServer.new( :Port => options[:port].to_i, :ServerType => options[:server_type], :BindAddress => options[:ip], :SSLEnable => true, :SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE, :SSLCertificate => options[:cert], :SSLPrivateKey => options[:pkey], :SSLCertName => [ [ "CN", WEBrick::Utils::getservername ] ] ) server.mount('/', DispatchServlet, options) trap("INT") { server.shutdown } server.start end end puts "=> Rails application started on https://#{OPTIONS[:ip]}:#{OPTIONS[:port]}" puts "=> Ctrl-C to shutdown" SSLDispatchServlet.dispatch(OPTIONS) ############################################################## ############################################################## >From the server, ruby -v and rails -v ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux] Rails 2.3.5 r...@sevenof9:~/kbrr$ uname -a Linux sevenof9 2.6.24-26-server #1 SMP Tue Dec 1 19:19:20 UTC 2009 i686 GNU/Linux ############################################################## -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

