要解决AWS WebSocket连接时抛出CORS错误,您可以采取以下步骤:
在AWS API Gateway的WebSocket API设置中启用CORS。在API Gateway控制台中选择WebSocket API,然后选择“行为”选项卡。在“CORS设置”下,将CORS启用设置为“是”。
在您的WebSocket客户端代码中,确保在建立连接时设置正确的请求头信息。
以下是一个示例代码,展示了如何在JavaScript中使用WebSocket对象并设置正确的CORS请求头:
const socket = new WebSocket('wss://your-websocket-url');
socket.onopen = function(event) {
console.log('WebSocket connection established.');
};
socket.onerror = function(error) {
console.error('WebSocket error:', error);
};
socket.onmessage = function(event) {
console.log('Received message:', event.data);
};
// 设置CORS请求头
socket.onbeforeopen = function(event) {
event.currentTarget.setRequestHeader('Origin', 'https://your-origin-url');
};
// 或者使用以下代码设置CORS请求头
socket.onopen = function(event) {
socket.send(JSON.stringify({
type: 'CORS',
origin: 'https://your-origin-url'
}));
};
请确保将your-websocket-url
替换为您的WebSocket URL,将your-origin-url
替换为您的请求的来源URL。
通过在建立WebSocket连接之前设置正确的CORS请求头,您可以解决AWS WebSocket连接时抛出CORS错误的问题。