如何通过 CloudFront 访问 aws websocket
Posted
技术标签:
【中文标题】如何通过 CloudFront 访问 aws websocket【英文标题】:How to access aws websocket through CloudFront 【发布时间】:2021-08-12 11:49:49 【问题描述】:我正在关注这个 url 来设置云前端来源。 https://nickzamosenchuk.medium.com/configure-amazon-cloudfront-cdn-for-websocket-connection-43c44b3f877c 如何通过 Angular 应用程序连接 WebSocket。? 我尝试了 2 种方法,但无法连接。
let data = this.httpClient.get('https://<id>.cloudfront.net/dev').subscribe(datas =>
console.log(datas);
);
或
this.socket = webSocket('wss://<id>.cloudfront.net/dev');
angular中连接WebSocket的方式是什么?
【问题讨论】:
【参考方案1】:是的,有办法,例如:
import Injectable from '@angular/core';
import webSocket, WebSocketSubject from 'rxjs/webSocket';
@Injectable(
providedIn: 'root'
)
export class WebsocketExampleService
readonly url = "(wss|https)://<id>.cloudfront.net/";
subject: WebSocketSubject<any>;
constructor()
this.subject = webSocket(
url: this.url,
deserializer: msg => msg
);
【讨论】:
仍然无法连接到 WebSocket @YaakovHatam 错误是什么?您在浏览器控制台中看到了什么? @user8057332 我没有收到任何控制台错误,但它没有击中 CloudFront。我们需要 CloudFront 源中的任何更新吗?以上是关于如何通过 CloudFront 访问 aws websocket的主要内容,如果未能解决你的问题,请参考以下文章
Cloudfront 提供通过 AWS CDK Python 为 S3 存储桶来源创建的访问被拒绝响应,无需公共访问
带有签名 URL 的 AWS CloudFront:403 访问被拒绝
如何使用 C# HttpClient 或 AWS SDK 通过 CloudFront 将视频上传到 S3