- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我按照 rails tutorial org tuto 做了一个网站已安装 passenger,nginx。
在 heroku 上的 prod env 上完美运行=>
http://klat.herokuapp.com/ (应用程序未完成但总比没有好)
我在这里使用 =>
config.force_ssl = true
(仅适用于 heroku)
我的路线来自 routes.rb =>
Rails.application.routes.draw do
get 'users/new'
root 'static_pages#home'
get 'help' => 'static_pages#help'
get 'about' => 'static_pages#about'
get 'contact' => 'static_pages#contact'
get 'login' => 'static_pages#login'
get 'signup' => 'users#new'
resources :users
end
~/.bash_profile 和 ~/.bashrc 得到了
#a generated key
export SECRET_KEY_BASE="my_very_big_generated_key"
export SECRET_TOKEN="my_very_big_generated_key"
我用 openssl 生成了我自己的证书
ls ../cert/
server.crt server.csr server.key server.key.org server.pem
然后我在本地用这个命令启动我的服务器
passenger start -p 2000 --ssl-certificate ../cert/server.csr --ssl-port 20001 -e production
我花了两天时间才走到这一步,但我找不到为什么我的服务器开始于
http ://0.0.0.0:2000/
并重定向到
https ://0.0.0.0:2000
没有一页可访问:错误
An error occurred during a connection to 0.0.0.0:2000. SSL received a record that exceeded the maximum permissible length. (Error code: ssl_error_rx_record_too_long)
但是在日志中我们清楚的看到
App 12832 stdout:
App 12854 stdout:
App 12854 stdout: Started HEAD "/" for 127.0.0.1 at 2015-04-24 18:09:30 +0200
App 12854 stdout: Processing by StaticPagesController#home as HTML
{... rendering homepage wiht _header.erb _footer.erb etc ...}
所以我可以访问我的网站,地址为:
http: //127.0.0.1:2000/
而且我仍然从我的 nginx 服务器收到这些消息
ActionController::RoutingError (No route matches [GET] "/images/rails.png"):
ActionController::RoutingError (No route matches [GET] "/stylesheets/application.css"):
{...and more ...}
我在我的 ruby on rails 应用程序中的每个文件中都评论了 all ssl_force当我在 config/production.rb 中取消注释时
config.force_ssl = true
对于本地使用,我得到在
http ://127.0.0.1:2000/ => redirect to https ://127.0.0.1:2000/ and get => (Error code: ssl_error_rx_record_too_long)
http ://127.0.0.1 => unable to locate
https ://127.0.0.1 => unable to locate
http ://127.0.0.1:2000 => unable to locate
http ://127.0.0.1:2001 => unable to locate
https ://127.0.0.1:2000 => unable to locate
https ://127.0.0.1:2001 => unable to locate
只是找不到为什么我的 openssl 生成的 key 不起作用,页面没有用 css 和其他资源呈现,这可能是路由问题...
非常感谢您的一点帮助!
PS:(但请不要提供帮助,例如“使用 Thin 或 Puma 或其他服务器,我有选择使用 nginx、lighthttpd 或 Apache 的限制(对我来说显而易见的答案是 nginx)”)在自己的服务器上设置自己的ssl认证也是我学习中的一个限制
最佳答案
最后
我执行的无错误启动服务器的命令是
passenger start --ssl-certificate ../cert/server.crt --ssl-certificate-key ../cert/server.key -e production --ssl
不指定ssl端口和标准端口
我添加了
gem 'rack-ssl', :require => 'rack/ssl'
到我的 gem 文件并做了几个 bundle install/--deployment 等...
在 production.rb 中设置
config.force_ssl = true
在 application_controller.rb 中
force_ssl
所以当我连接到时,我的连接现在是加密的
但是...由于 url 中存在端口号,我仍然对所有这些配置不满意
无论如何,它现在就可以了......
关于ruby-on-rails-4 - ssl passenger nginx rails 4 路由将错误的端口与 https 结合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29853073/
我使用以下命令安装了 Phusion Passenger sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CA
我已经调试了一天多了,没有运气, 安装 ruby、gems 和 Passenger 后,我尝试启动 Passenger,但我一直收到“找不到乘客”: passenger@dragon:/usr/w
基本上,我的路线运行完美,乘客似乎正在加载 - 一切都很好。除了没有 Railsy 发生。这是我从启动服务器到第一个请求的 Nginx 日志(忽略不同的域/路由 - 这是因为我还没有移动新域,并且它返
如果我通过以下方式安装 passenger 包: $ sudo apt-get install libapache2-mod-passenger 我还需要运行吗: $ passenger-inst
我在安装了 Passenger 和 Nginx(带有 Passenger 模块)的生产服务器上安装了一个 Rails 应用程序。但是,当我运行 rvmsudo passenger-status 时,它
这是一个在 Phusion Passenger 上运行的 Rails 应用。 在开发环境(乘客独立模式)中,我在基于 Vagrant Ubuntu 14.04 的机器上运行它,在 MBP(工作)和 L
http://nodejs-resume.developmentserver.me/ 当网站加载时, /usr/local/dh/passenger/helper-scripts/node-loade
如果我在 enterprise passenger 中配置滚动重启,然后触摸 restart.txt,我如何以编程方式检查该过程是否已完成并可以保证不再提供旧版本? 最佳答案 我知道自问这个问题以来已
我有一个 sinatra 应用程序,其页面显示有关该应用程序的一些信息。其中一些是通过在页面加载时运行命令生成的。在 unicorn 中运行时,我的 MacBook 上一切正常,在 unicorn 中
我很难弄清楚如何使用 rbenv连同 passenger .我在运行 debian 6 ,所以我安装了 passenger来自 oss-binaries.phusionpassenger.com存储库
Phusion Passenger 的 Apache 模块安装在哪里?我想调整“Configuring Phusion Passenger”中的一些配置值。 我不知道这个配置文件在哪里。我已经按照 N
TL; DR =无法让Passenger / Nginx从Django调用我们的应用程序。 “passenger-status”未显示当前运行的非Docker服务器中显示的正确应用程序组。 尝试将运行
我试图了解 Passenger Nginx 如何处理并发请求。我重新加载了一个页面并查看了生产日志。每次页面都会向服务器同时发送多个 ajax 请求。有一些任务需要昂贵的数据库查询,称为“status
我在我的 Linode 服务器上使用 Apache + Passenger,使用 Postgresql-9.4 数据库。每隔一段时间,我就会收到以下错误,但它是不可预测的,并且在几分钟后没有采取任何措
来了:我有一个在 RedHat 服务器上运行的 Rails 应用程序。我使用 Passenger Standalone v3.0.19 来提供服务。数据库是MySQL。最近我发现一些Passenger
我正在使用 nginx 和 Phusion Passenger 来引导加载 ruby on rails 应用程序,如果我像这样运行应用程序 rails s -e production 它确实正确连
我想使用 apache 和 passenger 将我的应用程序部署到我的本地服务器中。我安装了所有先决条件,如开发库和 passenger gem。然后我将这些行包含到我的/etc/apache2/h
我有一个使用 Phusion passenger + Apache 网络服务器部署的 Ruby on Rails 应用程序。每个请求是否都在由 Phusion Passenger 生成的自己的线程中运
我遇到了一个问题,无论我尝试什么,所有乘客实例都会在空闲期(5 分钟,但有时更长)后被销毁。我已阅读 Stack Overflow 上的乘客文档和相关问题/答案。 我的全局配置如下所示: Passen
我正在尝试通过运行以下命令来自动化 nginx/passenger 安装程序: passenger-install-nginx-module --auto --auto-download --extr
我是一名优秀的程序员,十分优秀!