我正在使用Thin Web服务器来提供我的Rails应用程序。
thin start
启动服务器提供http
次请求。thin start --ssl
启动服务器提供https
次请求。 有没有办法让thin
同时同时提供http
和https
个请求?
我问的原因是因为当我在控制器中使用redirect_to some_path
时,它们会重定向到http
。由于thin
正在处理https
个请求,因此不会呈现任何内容。
注意:我在Rack::SSL
中使用Rails 3.0.7
。
答案 0 :(得分:8)
(评论转换为按要求回答。)
最简单的选项可能是运行两个单独的瘦实例:一个接受SSL请求,另一个接受明文请求。你有什么理由不想这样做吗? (或者,如果瘦是在另一个Web服务器(如Apache或Nginx)后面运行,则只需要一个瘦实例:前端服务器可以通过SSL报告请求是否来自。)
您不能在同一端口上同时接受HTTP和HTTPS连接。 (这就是为什么,默认情况下,HTTP在端口80上运行,而HTTPS在端口443上运行。)
答案 1 :(得分:4)
你可以使用工头(https://github.com/ddollar/foreman);
使用2个进程创建一个Procfile,然后使用forman start
命令启动它。
将此文件放在名为Procfile
的文件中:
web: thin start
ssl: thin start --ssl
然后使用foreman start
并启动2进程。
这就是我的使用方式......希望这能帮到你!