我使用django作为后端API和ajax用于进行api call.my主站点运行在https上但api在http上运行。我无法将ssl cert的api调用加载到ngnix上。
是否可以从https到http?
进行ajax调用任何线索都会受到赞赏吗?
事先提前!! !!答案 0 :(得分:1)
HTTP和HTTPS之间的唯一区别是SSL安全部分,如果您的服务器能够处理HTTPS请求,它们将像任何其他HTTP请求一样发送到API,它只是实际的数据通信从客户端套接字到受影响的服务器套接字,一旦收到数据,它将再次以纯文本(或其原始格式)返回。
答案 1 :(得分:0)
您的浏览器将停止此操作和/或为您的HTTPS连接提供不安全的警告和挂锁符号。
HTTPS表示该网站是安全的,这为访问者提供了一定的保证 - 即该网站是针对给定的域(身份验证),未被截获和更改(完整性)以及其他任何人都无法收听进出服务器的消息(机密性)。
当您添加不安全的资源(如api调用)时,这些保证不再存在,因此浏览器会发出“不安全”警告,通常带有黄色警告挂锁(而不是绿色)和/或弹出窗口。
浏览器用于区分非活动内容(例如图像) - 这些内容被认为风险较低,因此被允许,以及活动内容(例如JavaScript) - 这些内容具有潜在的危险性,因此不允许,但不认为它们再做一次。即使他们做了Ajax XHR调用肯定属于后一类。
最佳选择是通过Nginx通过您的主站点域proxy pass发送请求(例如,使用Nginx配置从Nginx转发到https://example.com/api到您的api)。