服务器有另外一个程序运行,请问服务器的同学,一个https服务器怎么运行多个小程序...

本文介绍了如何在win2008+IIS7环境下,通过路由技术解决只能搭建一个HTTPS站点的问题。作者详细阐述了一个HTTPS站点作为路由,接收小程序请求,再模拟HTTP请求到实际小程序后台的实现过程,从而实现多个小程序共享同一HTTPS站点。涉及到的技术包括PHP的curl库用于发起HTTP请求,并给出了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

612430a24797c39a394749fca3ab6a14.gif具体一点,这个帖子是要留给未来遇到问题的人参考的     

新增案例:实现:多个小程序用一个https站点(作者:Roluce)

背景:1:win2008+IIS7环境只能搭建一个https站点

2:小程序后台必须用https搭建

ps:win2008+IIS有搭建多个https的偏方,不过得IIS修改配置文件,一重启IIS得重新配置,很不方便`

正常来说:

一个win2008+IIS服务器只能让一个小程序用问题解决:

解决方法:让这个唯一的https站点做路由

1:https站点:接收小程序发来的请求参数,根据参数重新组织请求url

2:https站点:模拟http向真正的小程序后台发送请求

3:http站点:小程序后台接收参数、返回请求的数据

4:https站点:接收返回的数据

5:https站点:把数据返回给小程序原理图:

5f1bc21e176bf0a2a81b4675693a7ac2.gif

1.png (31.83 KB, 下载次数: 57)

2017-3-23 15:24 上传实现源码1:小程序请求接口

[AppleScript] 纯文本查看 复制代码url:[url=https://www.https.com/api.php?app=zcml&action=post&cat=17&count=2&page=1]https://www.https.com/api.php?ap ... t=17&count=2&page=1[/url]

app:小程序缩写

action:功能(获取文章,获取分类,获取幻灯片数据等)

cat:文章分类ID

count:每次获取数量

page:页数2:https站点php代码(路由)

[AppleScript] 纯文本查看 复制代码<?php

//每次请求必有参数(小程序名、功能)

$app = $_GET['app']; //应用名称缩写

$action = $_GET['action']; //功能

/********************

* 1:拼装url

********************/

switch($app){

//《轴承名录》小程序

case "zcml":

//功能

switch($action){

//获取文章数据

case "post":

$cat=$_GET['cat']; //分类id

$count=$_GET['count']; //每页数据量

$page=$_GET['page']; //页数

$url = "http://www.http.com/xcxapi.php?action={$action}&cat={$cat}&count={$count}&page={$page}";

break;

//获取xx数据

case "index":

break;

}

break;

//其他小程序(待)

case "other":

break;

}

/********************

* 2:模拟http获取数据

********************/

$timeout = 5;

$ch = curl_init(); //初始化curl

curl_setopt($ch, CURLOPT_URL, $url); //设置访问的url地址

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //参数为1表示传输数据,为0表示直接输出显示。

curl_setopt($ch, CURLOPT_HEADER, 0); //参数为0表示不带头文件,为1表示带头文件

/*curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //获取https需要加上此

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //获取https需要加上此*/

$output = curl_exec($ch); //执行命令并把获取的数据赋值给$output

curl_close($ch); //关闭URL请求

echo $output;

?>

3:http站点php代码(小程序后台)

[AppleScript] 纯文本查看 复制代码<?php

/***wp框架************/

if ( !isset($wp_did_header) ) {

$wp_did_header = true;

// Load the WordPress library.

require_once( dirname(__FILE__) . '/wp-load.php' );

// Set up the WordPress query.

wp();

}

/***wp框架************/

//获取功能

$action = $_GET['action'];

switch($action){

//获取文章数据

case "post":

//接收传参

$cat=$_GET['cat'];

$count=$_GET['count'];

$page=$_GET['page'];

//拼装筛选参数

$args = array(

'posts_per_page' => $count, //每页数量

'paged' => $page, //第几页

'post_type' => 'dealer', //自定义文章类型名称(可省略自动识别)

'tax_query' => array( //自定义分类(指定)

array(

'taxonomy' => 'cdealer',//自定义分类法名称

'terms' =>$cat //id为64的分类。也可是多个分类array(12,64)

),

)

);

//执行时筛选

query_posts($args); //本页不要这句,自定义分类才用

$arr=[];

//对文章数据进行重新封装

while(have_posts()){

the_post();

$title = get_the_title();

$sale = get_field("sale");

$tel = get_field("tel");

$addr = get_field("addr");

$arr[] = ["title"=>$title,"sale"=>$sale,"tel"=>$tel,"addr"=>$addr];

}

echo json_encode($arr);

break;

//其他

case "other":

break;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值