V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
qwertyzzz
V2EX  ›  程序员

https 的网站怎么请求 http 的接口?

  •  
  •   qwertyzzz ·
    123 · 2021-12-08 08:59:43 +08:00 · 4709 次点击
    这是一个创建于 1099 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要用到 h5 的扫码功能 只能把网页部署到了 https 但是接口是在内网 都是 http 的 而且有好多东西 升级成 https 无法预估有啥问题,所以暂不考虑升级;除了这个还有什么别的办法吗

    18 条回复    2021-12-08 15:45:22 +08:00
    zhoudaiyu
        1
    zhoudaiyu  
       2021-12-08 09:00:58 +08:00
    同求解答
    hanxiV2EX
        2
    hanxiV2EX  
       2021-12-08 09:02:09 +08:00 via Android
    用 https 代理?
    mercury233
        3
    mercury233  
       2021-12-08 09:02:09 +08:00
    自建中转,降级回 http ,使用国产安全浏览器 /狗头
    okakuyang
        4
    okakuyang  
       2021-12-08 09:04:11 +08:00
    升级成 https 就完事了,套一层代理。
    Mithril
        5
    Mithril  
       2021-12-08 09:04:48 +08:00
    前面套个反向代理去接 HTTPS 不就完了
    CodeCodeStudy
        6
    CodeCodeStudy  
       2021-12-08 09:08:34 +08:00   ❤️ 1
    在部署了 https 的 web 服务器做反向代理,把请求转发即可,比如 nginx 的配置

    location /xxx {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:12345/;
    }
    zyq2280539
        7
    zyq2280539  
       2021-12-08 09:30:42 +08:00
    套一层 nginx 不就可以了
    qwertyzzz
        8
    qwertyzzz  
    OP
       2021-12-08 09:42:54 +08:00
    大佬们 我来试试
    tsanie
        9
    tsanie  
       2021-12-08 10:50:12 +08:00
    如果有 websocket 别忘了
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    joshuacavell
        10
    joshuacavell  
       2021-12-08 11:48:57 +08:00
    只有我觉得这完全是两件事吗?
    villivateur
        11
    villivateur  
       2021-12-08 12:05:06 +08:00 via Android
    内网做一个自签名证书,在需要用到的电脑上装证书
    huangzxx
        12
    huangzxx  
       2021-12-08 12:07:36 +08:00
    你需要的是一个运维
    tuutoo
        13
    tuutoo  
       2021-12-08 12:20:23 +08:00
    反向代理。 我用的 Caddy

    下面是 Caddy 配置文件中的一段示例
    {$SSL_CERT_PATH}和{$SSL_KEY_PATH}是你的 SSL 证书路径。

    https://x.xxx.com {
    tls {$SSL_CERT_PATH} {$SSL_KEY_PATH}
    reverse_proxy http://192.168.88.32:1337
    }

    然后外网访问这个域名的时候,转发到内网这个 Caddy Server 上
    2i2Re2PLMaDnghL
        14
    2i2Re2PLMaDnghL  
       2021-12-08 12:48:39 +08:00
    @joshuacavell 其实是撞上了 downgrade 的问题,现代浏览器均对 https 加载的页面内访问 http 字段进行了各种限制,基本上除了保证无安全问题的 <img> 等以外均直接拒绝。
    akira
        15
    akira  
       2021-12-08 13:02:44 +08:00
    升级的工作量应该是最少的了
    loveminds
        16
    loveminds  
       2021-12-08 14:16:09 +08:00
    做个 https 网关
    SmiteChow
        17
    SmiteChow  
       2021-12-08 15:22:00 +08:00
    只在扫码上面用 https
    dko
        18
    dko  
       2021-12-08 15:45:22 +08:00
    最简单的方案:接百度云加速的 https 透明转发
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   853 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:44 · PVG 05:44 · LAX 13:44 · JFK 16:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.