Skip to content

使用代理地址的S3存储策略上传附件到minio云存储报错 #99

@carolcoral

Description

@carolcoral

是什么版本出现了此问题?

2.10.2

使用的什么数据库?

PostgreSQL

使用的哪种方式运行?

Docker Compose

在线站点地址

https://blog.cnkj.site

发生了什么?

环境

操作

  1. 使用1panel对minio的api端口进行反向代理
  2. 在halo博客中 附件 - 存储策略 中新增minio作为云存储
  3. 成功添加云存储后上传附件
  • 使用 源站地址 上传成功
  • 使用 代理地址 上传失败
  1. 查看 halo 后台日志返回为 null
  2. 使用1Panel 面板设置 中的 备份帐号 - minio 进行验证发现可以正常使用并上传内容

image image

相关日志输出

datestreamcontent
2023/11/21 15:57:39stdout
2023/11/21 15:57:39stdout at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
2023/11/21 15:57:39stdout at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[na:na]
2023/11/21 15:57:39stdout at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[na:na]
2023/11/21 15:57:39stdout at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) ~[na:na]
2023/11/21 15:57:39stdout at java.base/java.util.concurrent.FutureTask.run(Unknown Source) ~[na:na]
2023/11/21 15:57:39stdout at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.Mono.subscribe(Mono.java:4495) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.MonoUsing.subscribe(MonoUsing.java:109) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.FluxConcatArray.subscribe(FluxConcatArray.java:78) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.FluxConcatArray$ConcatArraySubscriber.onComplete(FluxConcatArray.java:258) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.Mono.subscribe(Mono.java:4480) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.MonoRetryWhen.subscribeOrReturn(MonoRetryWhen.java:46) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.FluxRetryWhen.subscribe(FluxRetryWhen.java:77) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:48) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at reactor.core.publisher.MonoSupplier$MonoSupplierSubscription.request(MonoSupplier.java:126) ~[reactor-core-3.5.11.jar:3.5.11]
2023/11/21 15:57:39stdout at run.halo.s3os.S3OsAttachmentHandler.lambda$checkFileExistsAndRename$29(S3OsAttachmentHandler.java:392) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.services.s3.DefaultS3Client.headObject(DefaultS3Client.java:5438) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:56) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:76) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:179) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:82) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:171) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:193) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:31) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:48) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:36) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:56) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:81) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:36) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:50) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:73) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:30) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:40) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.core.internal.handler.BaseClientHandler.lambda$successTransformationResponseHandler$7(BaseClientHandler.java:266) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler$Crc32ValidationResponseHandler.handle(AwsSyncClientHandler.java:95) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:43) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:85) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleResponse(AwsXmlPredicatedResponseHandler.java:108) ~[na:na]
2023/11/21 15:57:39stdout at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleErrorResponse(AwsXmlPredicatedResponseHandler.java:156) ~[na:na]
2023/11/21 15:57:39stdoutOriginal Stack Trace:
2023/11/21 15:57:39stdout *__checkpoint ⇢ HTTP POST "/apis/api.console.halo.run/v1alpha1/attachments/upload" [ExceptionHandlingWebHandler]
2023/11/21 15:57:39stdout *__checkpoint ⇢ org.springframework.web.filter.reactive.ServerHttpObservationFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ OrderedWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ OrderedWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ OrderedWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ CorsWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ CsrfWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ AnonymousAuthenticationWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ run.halo.app.security.authentication.login.UsernamePasswordAuthenticator [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ run.halo.app.security.authentication.login.DelegatingLogoutPageGeneratingWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ run.halo.app.security.authentication.login.UsernamePasswordLogoutHandler [DefaultWebFilterChain]
2023/11/21 15:57:39stdout *__checkpoint ⇢ run.halo.app.security.InitializeRedirectionWebFilter [DefaultWebFilterChain]
2023/11/21 15:57:39stdoutError has been observed at the following site(s):
2023/11/21 15:57:39stdout Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
2023/11/21 15:57:39stdout at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleErrorResponse(AwsXmlPredicatedResponseHandler.java:156) ~[na:na]
2023/11/21 15:57:39stdoutsoftware.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 403, Request ID: 1799945C92D122FB, Extended Request ID: 7987905dee74cdeb212432486a178e511309594cee7cb75f892cd53e35f09ea4)
2023/11/21 15:57:39stdout
2023/11/21 15:57:39stdout2023-11-21T15:57:39.672+08:00 ERROR 7 --- [ndedElastic-508] a.w.r.e.AbstractErrorWebExceptionHandler : [65e55a31-22492]  500 Server Error for HTTP POST "/apis/api.console.halo.run/v1alpha1/attachments/upload"

附加信息

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions