gpt4 book ai didi

php - CORS : Accessing ssl endpoint from non ssl site

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:10 24 4
gpt4 key购买 nike

我正在尝试从 http://站点访问我的 API 端点 (https)。

在我的 PHP 应用程序中,我将 header 设置为

header('Access-Control-Allow-Origin: *');

响应包含它。然而,如果我尝试通过 AJAX 调用端点,则会发生以下错误:

ERR_SSL_PROTOCOL_ERROR

证书似乎是有效的。我可以以某种方式禁用检查吗?从非 SSL 站点访问 SSL 内容应该是安全的。正确吗?

最佳答案

正确的解决方案是解决您的证书问题,但如果这不可行,那么您可以使用 HTTP 服务器作为代理通过 PHP 的 cURL 获取 HTTPS 数据:

HTTP AJAX 调用

$.ajax({
url: 'http://www.example.com/call_api.php',
success: function(data){
console.log(data);
}
});

HTTP call_api.php

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // return response as a string
curl_setopt($ch, CURLOPT_URL, 'https://www.example2.com/api_file.php');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$result = curl_exec($ch);

if(curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200)
{
echo $result;
}

HTTPS api_file.php

<?php
// some database stuff returning JSON or whatever
echo json_encode($db_rows);

关于php - CORS : Accessing ssl endpoint from non ssl site,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35941291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com