递归火山软件开发平台

标题: 【已解决】想问下服务器端如何同时监听80和443端口 [打印本页]

作者: fan    时间: 2025-11-27 18:07
标题: 【已解决】想问下服务器端如何同时监听80和443端口
本帖最后由 fan 于 2025-12-15 12:23 编辑

如题,服务器端如和同时监听80和443两个端口,让http和https都能正常访问,最好给个简单的例子,谢谢

作者: 朕的    时间: 2025-11-27 19:40
搞2个实例对象?
作者: 创世魂    时间: 2025-11-27 20:29
应该是创建两个。
不过没啥意义啊,一般也不会这么干。都是让http重定向到https

  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 类 启动类 <公开 基础类 = 程序类>
  3. {
  4.     变量 HTTP服务 <类型 = HTTP服务器类>
  5.     变量 HTTPS服务 <类型 = HTTP服务器类>
  6.     变量 可关闭 <类型 = 可关闭服务器类>

  7.     方法 启动方法 <公开 类型 = 整数>
  8.     {
  9.         变量 引擎 <参考 类型 = Gin引擎类>
  10.         HTTP服务.地址 = ":8080"  // 监听端口
  11.         HTTPS服务.地址 = ":443"
  12.         引擎 = Gin引擎类.取默认引擎 ()  // 取出默认引擎
  13.         引擎.注册GET2 ()
  14.         {

  15.         }
  16.         HTTP服务.置处理程序 (引擎.HTTP处理程序接口)
  17.         HTTPS服务.置处理程序 (引擎.HTTP处理程序接口)
  18.         启动协程 ()
  19.         {
  20.             HTTP服务.监听并服务 ()
  21.         }
  22.         启动协程 ()
  23.         {
  24.             HTTPS服务.监听并服务TLS ()
  25.         }
  26.         可关闭.等待关闭 ()  // 阻止服务器自动关闭
  27.         返回 (1)
  28.     }

  29.     方法 可关闭服务器类_被关闭 <接收事件 类型 = 整数 注释 = "检测到收到中断信号(Ctrl+C)后,将触发本事件,在本事件下处理服务器被关闭时所需的操作.">
  30.     参数 来源对象 <类型 = 可关闭服务器类 注释 = "提供事件产生的具体来源对象">
  31.     参数 标记值 <类型 = 整数 注释 = "用户调用"挂接事件"命令时所提供的"标记值"参数值,非此方式挂接事件则本参数值固定为0.">
  32.     {
  33.         如果 (来源对象 == 可关闭)
  34.         {
  35.             HTTP服务.正常关闭 (协程环境.创建主环境 ())
  36.             HTTPS服务.正常关闭 (协程环境.创建主环境 ())
  37.         }
  38.         返回 (0)
  39.     }
  40. }
复制代码

作者: fan    时间: 2025-11-27 20:50
创世魂 发表于 2025-11-27 20:29
应该是创建两个。
不过没啥意义啊,一般也不会这么干。都是让http重定向到https


感谢大佬,那要是重定向怎么写呢?




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4