2011-11-15 3 views
2

중요한 데이터가있는 응용 프로그램을 배포하려고합니다. 따라서 디스크에 데이터가 저장되어서는 안됩니다. 서버 측 캐싱을 비활성화하는 방법이 있습니까? 나는 아무것도 찾을 수 없었다.레일 프로덕션 환경에서 서버 측 캐싱 사용 안 함

+0

당신은 로그 파일과 콘솔 출력에 대해 이야기하고 있는가? – stephenmurdoch

+0

안녕하세요, 나는 tmp/cache 아래에 만들어진 파일을 의미합니다. – Majnu

답변

3

나는이 문제에 대해 우연히 만났고 더 이상 대답이 필요 없다고 가정합니다. 그러나 당신이 찾고있는 것은 다음과 같습니다 :

config.action_controller.perform_caching = false 
+0

질문이 꽤 오래 되었기 때문에이 테스트를 직접 해보지는 않았지만 정답이라고 생각합니다. 감사! – Majnu

-2

귀하의 요구 사항은 명시된 바와 같이 이해가되지 않습니다. "민감한 데이터"가있는 경우 해당 데이터는 어디에 저장됩니까? 아마 데이터베이스에서? 그렇다면 서버 측 캐싱이 더 큰 보안 위험이되지는 않습니다.

중요한 응용 프로그램이 많이 있습니다. 따라서 서버를 안전하게 만드십시오. 캐싱을 해제하지 마십시오.

설정을 잘못 이해 한 경우 자세히 설명하십시오.

+0

글쎄, 데이터베이스가 다른 서버에 있고 database.yml에 데이터베이스 비밀번호를 저장하는 것이 아니라 사용자가 로그인 할 때 입력해야합니다 (그렇게하기는 쉽지 않지만 지금은 작동합니다). 레일 서버는 관리자가 액세스 할 수 있으며 민감한 데이터를 조사 할 수 없어야합니다. 캐싱이 필요한 성능 문제가 없기 때문에 레일 애플리케이션에서 반드시 디스크에 데이터를 저장해야하는 이유는 알 수 없습니다. 나는 그걸 끄고 싶다. 이견있는 사람? – Majnu

+0

예 : 전체 설정이 의미가 없습니다. 모든 사용자가 동일한 DB 또는 다른 DB에 암호를 입력합니까? 특히 DB가 다른 서버에있는 경우 캐싱을 원할 것입니다. 그렇지 않으면 네트워크 트래픽에 많은 시간을 허비하게됩니다. 관리자가 데이터를 보지 않아야하는 이유는 무엇입니까? 아마 그들은 무작위 사용자보다 더 신뢰할 수 있습니다 ... –

+0

봐, 난 (전혀 임의가 아닌) 한 사용자가, 성능 문제 및 민감한 데이터가 없습니다. 나는 설치가 의미가 있는지를 잘 결정할 수있다. 질문 : 레일에서 디스크 캐싱을 끌 수 있습니까? 예/아니오/잘 모르겠습니다. 전체 배경을 모른 채 감각을 결정하지 마십시오. – Majnu

2

이 설정은 구성 파일에 설정되어 있습니다. I-전자config/environments/production.rb

config.perform_caching = false config.cache_store = :null_store