Apache를 리버스 프록시로 사용하는, 꽤 전형적인 서브폴더/리버스 프록시 구성을 사용하고 있습니다.
처음에는 보안이 되지 않는 자산(insecure assets) 문제가 있어서 ENV에 forced_https를 설정했습니다. 그런데 stylesheets/color_definitions_light_7_1_6cfae4de9c47a1b8ed3d5748018236d10ea9107e.css?__ws=site.com 같은 자산을 가져올 때 문제가 생겼습니다.
아마 제가 무언가 바보 같은 짓을 하고 있는 것 같은데, 다음과 같은 오류가 나고 있습니다:
ArgumentError (comparison of Time with String failed)
app/controllers/stylesheets_controller.rb:66:in `<='
app/controllers/stylesheets_controller.rb:66:in `show_resource'
app/controllers/stylesheets_controller.rb:19:in `show'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:369:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'
if !cache_time.to_date.nil? && !stylesheet_time.to_date.nil?
if (stylesheet_time.to_date <= cache_time.to_date)
return render body: nil, status: 304
end
end
to_date가 truthy인 값을 nil 날짜로 변환할 수 있는 것 같습니다.
아니요. 그것도 작동하지 않습니다. 결국 해당 부분을 begin/rescue/end로 감쌌습니다.