halo-sigs / plugin-editor-hyperlink-card

为 Halo 的默认编辑器提供超链接卡片支持
https://www.halo.run/store/apps/app-UpUJA
GNU General Public License v3.0
17 stars 3 forks source link

超链接卡片报错 #12

Closed ccd2s closed 1 month ago

ccd2s commented 1 month ago

Halo版本:2.19.1 插件版本:1.0.3 主题:halo-theme-hao 已启用的插件:

使用1panel应用商店安装

容器日志:

1Panel-halo-ExBm  | 2024-09-08T12:51:20.241+08:00 ERROR 7 --- [or-http-epoll-3] a.w.r.e.AbstractErrorWebExceptionHandler : [48528d4b-10113]  500 Server Error for HTTP GET "/apis/api.hyperlink.halo.run/v1alpha1/link-detail?url=https://tte.tasaed.top/"
1Panel-halo-ExBm  | 
1Panel-halo-ExBm  | org.springframework.web.reactive.function.client.WebClientResponseException$BadGateway: 502 Bad Gateway from GET https://tte.tasaed.top/
1Panel-halo-ExBm  |     at org.springframework.web.reactive.function.client.WebClientResponseException.create(WebClientResponseException.java:334) ~[spring-webflux-6.1.12.jar:6.1.12]
1Panel-halo-ExBm  |     Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
1Panel-halo-ExBm  | Error has been observed at the following site(s):
1Panel-halo-ExBm  |     *__checkpoint ⇢ 502 BAD_GATEWAY from GET https://tte.tasaed.top/ [DefaultWebClient]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.app.security.InitializeRedirectionWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.app.security.LoginRequiredForAccessWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.app.security.device.DeviceSessionFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.app.sms.security.SmsLoginAuthenticator [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ AuthorizationWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ ExceptionTranslationWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ LogoutWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ ServerRequestCacheWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ LogoutPageGeneratingWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ AnonymousAuthenticationWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ TotpAuthenticationFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ AuthenticationWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ ReactorContextWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ CsrfWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ CorsWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ HttpHeaderWriterWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ SecurityWebFilterChainProxy [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.app.sms.security.SmsLoginAuthenticator [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.oauth.Oauth2Authenticator [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.oauth.Oauth2AuthorizationRequestRedirectWebFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.router.TrailingSlashRedirectFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ cc.ryanc.staticpages.endpoint.RewriteOnNotFoundFilter [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ run.halo.app.webfilter.AdditionalWebFilterChainProxy [DefaultWebFilterChain]
1Panel-halo-ExBm  |     *__checkpoint ⇢ HTTP GET "/apis/api.hyperlink.halo.run/v1alpha1/link-detail?url=https://tte.tasaed.top/" [ExceptionHandlingWebHandler]
1Panel-halo-ExBm  | Original Stack Trace:
1Panel-halo-ExBm  |         at org.springframework.web.reactive.function.client.WebClientResponseException.create(WebClientResponseException.java:334) ~[spring-webflux-6.1.12.jar:6.1.12]
1Panel-halo-ExBm  |         at org.springframework.web.reactive.function.client.DefaultClientResponse.lambda$createException$1(DefaultClientResponse.java:214) ~[spring-webflux-6.1.12.jar:6.1.12]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:122) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.6.9.jar:3.6.9]
1Panel-halo-ExBm  |         at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:415) ~[reactor-netty-core-1.1.22.jar:1.1.22]
1Panel-halo-ExBm  |         at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:445) ~[reactor-netty-core-1.1.22.jar:1.1.22]
1Panel-halo-ExBm  |         at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:499) ~[reactor-netty-core-1.1.22.jar:1.1.22]
1Panel-halo-ExBm  |         at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:800) ~[reactor-netty-http-1.1.22.jar:1.1.22]
1Panel-halo-ExBm  |         at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115) ~[reactor-netty-core-1.1.22.jar:1.1.22]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289) ~[netty-handler-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[netty-codec-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[netty-codec-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[netty-codec-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1473) ~[netty-handler-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1336) ~[netty-handler-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1385) ~[netty-handler-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530) ~[netty-codec-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469) ~[netty-codec-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799) ~[netty-transport-classes-epoll-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:501) ~[netty-transport-classes-epoll-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:399) ~[netty-transport-classes-epoll-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
1Panel-halo-ExBm  |         at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]
1Panel-halo-ExBm  | 

浏览时显示默认链接样式,直接访问API会报错500

ccd2s commented 1 month ago

控制台报错为: Failed to load resource: the server responded with a status of 500 (Internal Server Error)

JohnNiang commented 1 month ago

关键日志如下所示:

502 BAD_GATEWAY from GET https://tte.tasaed.top/

Halo 在解析站点 https://tte.tasaed.top/ 时,对方站点无法正常访问,例如对方站点正在重启更新。

/triage needs-information

ccd2s commented 1 month ago

关键日志如下所示:

502 BAD_GATEWAY from GET https://tte.tasaed.top/

Halo 在解析站点 https://tte.tasaed.top/ 时,对方站点无法正常访问,例如对方站点正在重启更新。

/triage needs-information

这个问题已经解决了啊,但是去解析其他网站时使用的是服务器本身的IP,这样的话有泄露服务器IP的风险