我有一个非常奇怪的问题,每次我尝试在非SSL模式下浏览我的Rails应用程序时,Chrome(v16)和Firefox(v7)会不断强制我的网站以HTTPS的forms提供服务。 我的Rails应用程序部署在使用Capistrano,nginx,Passenger和通配符SSL证书的Ubuntu VPS上。 我在nginx.conf中为端口80设置了这些参数: passenger_set_cgi_param HTTP_X_FORWARDED_PROTO http; passenger_set_cgi_param HTTPS off; 我的nginx.conf的长版本可以在这里find: https : //gist.github.com/2eab42666c609b015bff ssl-redirect.include文件包含: rewrite ^/sign_up https://$host$request_uri? permanent ; rewrite ^/login https://$host$request_uri? permanent ; rewrite ^/settings/password https://$host$request_uri? permanent ; 当来自非SSL请求时,确保这三个页面使用HTTPS。 我的production.rb文件包含这一行: # Enable HTTP and HTTPS in parallel config.middleware.insert_before Rack::Lock, Rack::SSL, :exclude => proc { |env| env['HTTPS'] != 'on' } 我已经尝试通过nginx重写redirect到HTTP,Ruby on Railsredirect,也使用Rails视图使用HTTP协议的URL。 我的application.rb文件包含在before_filter钩子中使用的这个方法: […]
我正在与Apache和乘客的Rails项目。 而在重新启动期间,我得到了以下错误 Cannot load /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so into server: /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so: cannot open shared object file: No such file or directory 但是,在Apacheconfiguration文件没有改变。 我已经附加了从conf文件的片段 287 LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so 288 PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11 289 PassengerRuby /usr/bin/ruby1.8 我也无法find服务器指向的位置中的共享对象文件,虽然我不知道.so文件是如何工作(创build/销毁) 如果有人能向我解释究竟发生了什么,我也会很感激。 我明白共享目标文件是任务,可能是被删除的原因。
Passenger最近得到了对Nginx的支持,Apache作为Rails应用程序的Web服务器有什么优点和缺点呢?
你知道是否有可能与Shibboleth一起使用Nginx?
Gollum是GitHub用Ruby编写的新wiki引擎。 它使用Sinatra实例本地部署,以提供Web界面。 是否有可能使用Apache和mod_rails(Phusion Passenger)在共享主机环境(如Dreamhost)中运行它?
我在这里有一个Apache的问题。 对于我作为开发人员的整个职业生涯,我已经像这样重新启动了Apache: sudo /etc/init.d/apache2 restart 我今天刚刚部署了我的第一个Rails应用程序,但是我很难让Apache在主机上重新启动。 当我尝试这种方式,Apache会尝试重新启动,但最终会挂起。 但是,这工作得很好: sudo apachectl restart 这两种技术有什么区别? 我认为后者最好是第一个“语法糖”,但是事实肯定不是这样,因为后者是在前者没有的情况下工作的。 如果它是相关的(我怀疑它可能),这个Rails应用程序使用Phusion Passenger。 我以前的开发经验(以前的方法工作正常)主要是用PHP。 我很新的Rails。 有问题的服务器运行Ubuntu 11.04(Natty)。