# Discourse 마이그레이션으로 S3 이미지가 손상되었습니다

**URL:** https://meta.discourse.org/t/migrate-discourse-broke-s3-images/289962
**Category:** Self-hosting
**Tags:** s3
**Created:** [12월 28, 2023, 4:26오후 UTC](https://meta.discourse.org/t/migrate-discourse-broke-s3-images/289962 "2023-12-28T16:26:18Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![dylanb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dylanb/32/139102_2.png) [@dylanb](https://meta.discourse.org/u/dylanb)
#### Post date: [12월 28, 2023, 4:26오후 UTC](https://meta.discourse.org/t/migrate-discourse-broke-s3-images/289962/1 "2023-12-28T16:26:18Z")

</div>

죄송합니다… 업로드 실패 후 사이트를 이관한 후 또 다른 문제가 발생했습니다.

이미지를 제외한 모든 것이 정상적으로 작동하는 것 같습니다. 저장된 이미지가 작동하지 않고, 이미지 업로드 시 오류가 발생합니다.

저는 S3를 사용 중이었고, 이관 과정에서 일부 설정이 제대로 매핑되지 않은 것으로 보입니다:

제 S3 설정은 다음과 같습니다.

 ![image](https://global.discourse-cdn.com/meta/original/4X/d/c/5/dc56d4537abafcfb6832eae75bc80f96741b96b4.png)

이미지를 수정하고 업로드 기능을 정상적으로 작동시키는 방법이 있을까요? 로그에는 아무것도 보이지 않지만, 업로드 시 다음과 같은 메시지가 표시됩니다:

죄송합니다, \_\_\_\_ .png 업로드 중 오류가 발생했습니다. 다시 시도해 주세요.

기존 서버는 Azure에, 새 서버는 Lightsail에 있습니다. 이 점이 관련이 있을지 모르겠습니다.

---

<div class="post-metadata">

### Author: ![dylanb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dylanb/32/139102_2.png) [@dylanb](https://meta.discourse.org/u/dylanb)
#### Post date: [12월 28, 2023, 5:03오후 UTC](https://meta.discourse.org/t/migrate-discourse-broke-s3-images/289962/2 "2023-12-28T17:03:20Z")

</div>

저도 이 오류를 보고 있습니다:

```plaintext
Message
Failed to optimize image: unknown reason
Backtrace
/var/www/discourse/lib/discourse.rb:974:in `block in warn' 
/var/www/discourse/lib/discourse.rb:968:in `each' 
/var/www/discourse/lib/discourse.rb:968:in `warn' 
/var/www/discourse/app/models/optimized_image.rb:344:in `rescue in convert_with' 
/var/www/discourse/app/models/optimized_image.rb:320:in `convert_with' 
/var/www/discourse/app/models/optimized_image.rb:314:in `optimize' 
/var/www/discourse/app/models/optimized_image.rb:299:in `resize' 
/var/www/discourse/app/models/optimized_image.rb:91:in `block in create_for' 
/var/www/discourse/app/models/optimized_image.rb:21:in `block (2 levels) in lock' 
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize' 
/var/www/discourse/app/models/optimized_image.rb:21:in `block in lock' 
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize' 
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize' 
/var/www/discourse/app/models/optimized_image.rb:20:in `lock' 
/var/www/discourse/app/models/optimized_image.rb:62:in `create_for' 
/var/www/discourse/lib/site_icon_manager.rb:74:in `block in ensure_optimized!' 
/var/www/discourse/lib/site_icon_manager.rb:70:in `each' 
/var/www/discourse/lib/site_icon_manager.rb:70:in `ensure_optimized!' 
/var/www/discourse/config/initializers/014-track-setting-changes.rb:60:in `block in <main>' 
/var/www/discourse/lib/discourse_event.rb:12:in `block in trigger' 
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each_key'
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each'
/var/www/discourse/lib/discourse_event.rb:12:in `trigger' 
/var/www/discourse/lib/site_setting_extension.rb:347:in `add_override!' 
/var/www/discourse/lib/site_setting_extension.rb:562:in `block in setup_methods' 
/var/www/discourse/lib/site_setting_extension.rb:394:in `public_send' 
/var/www/discourse/lib/site_setting_extension.rb:394:in `set' 
/var/www/discourse/lib/site_setting_extension.rb:407:in `set_and_log' 
/var/www/discourse/app/controllers/admin/site_settings_controller.rb:48:in `update' 
actionpack-7.0.7/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' 
actionpack-7.0.7/lib/abstract_controller/base.rb:215:in `process_action' 
actionpack-7.0.7/lib/action_controller/metal/rendering.rb:165:in `process_action' 
actionpack-7.0.7/lib/abstract_controller/callbacks.rb:234:in `block in process_action' 
activesupport-7.0.7/lib/active_support/callbacks.rb:118:in `block in run_callbacks' 
/var/www/discourse/app/controllers/application_controller.rb:423:in `block in with_resolved_locale' 
i18n-1.14.1/lib/i18n.rb:322:in `with_locale' 
/var/www/discourse/app/controllers/application_controller.rb:423:in `with_resolved_locale' 
activesupport-7.0.7/lib/active_support/callbacks.rb:127:in `block in run_callbacks' 
activesupport-7.0.7/lib/active_support/callbacks.rb:138:in `run_callbacks' 
actionpack-7.0.7/lib/abstract_controller/callbacks.rb:233:in `process_action' 
actionpack-7.0.7/lib/action_controller/metal/rescue.rb:23:in `process_action' 
actionpack-7.0.7/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action' 
activesupport-7.0.7/lib/active_support/notifications.rb:206:in `block in instrument' 
activesupport-7.0.7/lib/active_support/notifications/instrumenter.rb:24:in `instrument' 
activesupport-7.0.7/lib/active_support/notifications.rb:206:in `instrument' 
actionpack-7.0.7/lib/action_controller/metal/instrumentation.rb:66:in `process_action' 
actionpack-7.0.7/lib/action_controller/metal/params_wrapper.rb:259:in `process_action' 
activerecord-7.0.7/lib/active_record/railties/controller_runtime.rb:27:in `process_action' 
actionpack-7.0.7/lib/abstract_controller/base.rb:151:in `process' 
actionview-7.0.7/lib/action_view/rendering.rb:39:in `process' 
rack-mini-profiler-3.3.0/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method' 
actionpack-7.0.7/lib/action_controller/metal.rb:188:in `dispatch' 
actionpack-7.0.7/lib/action_controller/metal.rb:251:in `dispatch' 
actionpack-7.0.7/lib/action_dispatch/routing/route_set.rb:49:in `dispatch' 
actionpack-7.0.7/lib/action_dispatch/routing/route_set.rb:32:in `serve' 
actionpack-7.0.7/lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>' 
actionpack-7.0.7/lib/action_dispatch/routing/mapper.rb:48:in `serve' 
actionpack-7.0.7/lib/action_dispatch/journey/router.rb:50:in `block in serve' 
actionpack-7.0.7/lib/action_dispatch/journey/router.rb:32:in `each' 
actionpack-7.0.7/lib/action_dispatch/journey/router.rb:32:in `serve' 
actionpack-7.0.7/lib/action_dispatch/routing/route_set.rb:852:in `call' 
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call' 
rack-2.2.8/lib/rack/tempfile_reaper.rb:15:in `call' 
rack-2.2.8/lib/rack/conditional_get.rb:40:in `call' 
rack-2.2.8/lib/rack/head.rb:12:in `call' 
actionpack-7.0.7/lib/action_dispatch/http/permissions_policy.rb:38:in `call' 
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call' 
/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call' 
/var/www/discourse/lib/middleware/gtm_script_nonce_injector.rb:10:in `call' 
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call' 
rack-2.2.8/lib/rack/session/abstract/id.rb:266:in `context' 
rack-2.2.8/lib/rack/session/abstract/id.rb:260:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/cookies.rb:704:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call' 
activesupport-7.0.7/lib/active_support/callbacks.rb:99:in `run_callbacks' 
actionpack-7.0.7/lib/action_dispatch/middleware/callbacks.rb:26:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call' 
logster-2.13.1/lib/logster/middleware/reporter.rb:40:in `call' 
railties-7.0.7/lib/rails/rack/logger.rb:40:in `call_app' 
railties-7.0.7/lib/rails/rack/logger.rb:27:in `call' 
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call' 
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/remote_ip.rb:93:in `call' 
request_store-1.5.1/lib/request_store/middleware.rb:19:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/request_id.rb:26:in `call' 
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call' 
rack-2.2.8/lib/rack/method_override.rb:24:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/executor.rb:14:in `call' 
rack-2.2.8/lib/rack/sendfile.rb:110:in `call' 
actionpack-7.0.7/lib/action_dispatch/middleware/host_authorization.rb:131:in `call' 
rack-mini-profiler-3.3.0/lib/mini_profiler.rb:191:in `call' 
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call' 
/var/www/discourse/lib/middleware/request_tracker.rb:233:in `call' 
railties-7.0.7/lib/rails/engine.rb:530:in `call' 
railties-7.0.7/lib/rails/railtie.rb:226:in `public_send' 
railties-7.0.7/lib/rails/railtie.rb:226:in `method_missing' 
rack-2.2.8/lib/rack/urlmap.rb:74:in `block in call' 
rack-2.2.8/lib/rack/urlmap.rb:58:in `each' 
rack-2.2.8/lib/rack/urlmap.rb:58:in `call' 
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load' 
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>' 

```

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12월 28, 2023, 5:08오후 UTC](https://meta.discourse.org/t/migrate-discourse-broke-s3-images/289962/3 "2023-12-28T17:08:56Z")

</div>

같은 버킷을 사용 중인가요? 자격 증명을 제공했나요? [업로드를 위한 S3 호환 객체 저장소 프로바이더 구성](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916)을 따랐나요?
