2017-04-14 10 views
0

Sinatra, Rack 및 Puma로 Ruby 웹 애플리케이션을 구축했습니다. Sinatra를 사용하여 컨트롤러 (MVC 패턴)를 구현하고 있으며 각각 다른 경로를 처리하며 각 컨트롤러 클래스는 Sinatra::Base까지 확장됩니다. TLS를 사용하여 서버에 대한 모든 연결이 HTTPS를 통해 제공되도록하고 싶습니다.랙, 푸마 및 시나트라에서 HTTPS를 사용 하시겠습니까?

require 'sinatra' 
require 'rack' 

# Start my database ... 

run Rack::URLMap.new(
    '/api/foo' => FooController.new, 
    '/api/bar' => BarController.new 
) 

푸마가 랙에 의해 자동으로 선택된다

내 랙 config.ru는 것 같습니다.

HTTPS를 어떻게 활성화합니까? 시작하려면 자체 서명 인증서를 사용해도 행복하지만 유효한 인증서로 서버를 구성하려면 어떻게해야합니까? 이것의 어느 것도 잘 문서화 된 것 같지 않습니다. 상당히 실망합니다. 내 랙 설정 파일의 최상위 레벨에 설정할 수있는 옵션을 간과하고 있습니까? set :ssl => true과 같을 수도 있습니다.

유사 아직 열매를 맺지 SO 게시물 : 자신의 문서에 How to make Sinatra work over HTTPS/SSL? How to enable SSL for a standalone Sinatra app?

+0

Nginx 또는 Apache 웹 서버없이 ssl을 사용 하시겠습니까? –

답변

0

당신이 푸마를 사용하는 것이 언급하기 때문에, 당신이 찾을 수 있습니다

보안의 약간이 필요하십니까? SSL 소켓을 사용하십시오! 생산에서

$ puma -b 'ssl://127.0.0.1:9292?key=path_to_key&cert=path_to_cert' 

(예를 들어의 nginx는, HAProxy, AWS ELB)는 내부 네트워크를 통해 HTTP 트래픽 응용 프로그램 서버에 SSL 종료에 대한 일반적 책임 및 전달 알기 전용 부하 분산 장치를 배포가. 이러한 중장비 웹 서버는 일반적으로 훨씬 빠르고 안정적이며 감사 기능이 뛰어납니다.