NotSupportedError Only secure origins are allowed
时间: 2024-05-20 19:15:32 浏览: 21
这个错误通常发生在使用WebRTC、WebSocket等协议时,因为这些协议要求使用安全的HTTPS协议或本地环境(localhost、127.0.0.1等)进行访问。
如果你在使用WebRTC或WebSocket时遇到了这个错误,可以尝试以下解决方案:
1. 使用HTTPS协议进行访问。
2. 如果是在本地环境下进行开发调试,可以使用localhost或127.0.0.1进行访问。
3. 如果是在服务器端进行部署,可以使用SSL证书进行加密。
4. 有些浏览器可能需要在设置中打开WebRTC和WebSocket权限。
希望以上解决方案能帮助到你。
相关问题
allowed-origins:
`allowed-origins`是一个用于配置跨域资源共享(CORS)的属性。它用于指定许访问资源的来源(即允许的域名或URL)。在配置`allowed-origins`时,你需要提供一个包含允许访问的来源的列表。
以下是一个示例配置的格式:
```
allowed-origins:
- http://example.com
- https://www.example.com
```
上述示例中,允许从 "http://example.com" 和 "https://www.example.com" 这两个来源访问资源。
你可以根据实际需要将允许访问的来源添加到`allowed-origins`属性中。请注意,不同的应用程序和框架可能会有不同的配置方式,请根据你正在使用的框架或工具查找相关的文档和示例配置。
KONG插件解决api-config is not allowed by Access-control-Allow-Headers的问题
`api-config` 是自定义的 HTTP 请求头,而 `Access-Control-Allow-Headers` 是服务器响应中的一个 CORS(跨来源资源共享)头,用于指定服务器允许客户端发送的请求头。
如果客户端发送的请求头不在服务器允许的头列表中,服务器就会返回一个 `api-config is not allowed by Access-Control-Allow-Headers` 类似的错误。
要解决这个问题,可以使用 Kong API 网关的 `cors` 插件。这个插件可以自动为响应头添加 `Access-Control-Allow-Headers`,从而允许客户端发送自定义的请求头。
以下是如何在 Kong 中启用 `cors` 插件的步骤:
1. 安装 `cors` 插件:
```
$ sudo luarocks install kong-oidc
```
2. 在 Kong 中创建一个新的服务或路由:
```
$ curl -i -X POST \
--url http://localhost:8001/services/ \
--data 'name=my-service' \
--data 'url=http://my-service.com'
```
或者:
```
$ curl -i -X POST \
--url http://localhost:8001/routes/ \
--data 'hosts[]=my-host.com' \
--data 'paths[]=/my-path' \
--data 'service.name=my-service'
```
3. 为该服务或路由启用 `cors` 插件:
```
$ curl -i -X POST \
--url http://localhost:8001/services/my-service/plugins/ \
--data 'name=cors' \
--data 'config.origins=*' \
--data 'config.methods=GET, POST, PUT, DELETE' \
--data 'config.headers=api-config, Authorization'
```
注意:这里的 `config.headers` 参数中包含了 `api-config` 请求头。
现在,客户端就可以发送带有 `api-config` 请求头的请求,而不会收到 `api-config is not allowed by Access-Control-Allow-Headers` 的错误了。