前端挂外网,后端放内网,请问怎么解决 https 请求问题?

2021-01-15 23:11:11 +08:00
 sudoy

也不知道这种骚操作有没有人这么干过,反正我正在这么干。就是把前端挂在类似 GitHub page 这样的地方,后端直接在内网(局域网)运行 REST API,然后就是直接在 https 的页面下 fetch( http://192.168.1.9:5000)。现在遇到的问题是,在 https 网站下面请求非 http 的 URL,浏览器会报错。我把内网的 API 改成 https (自签名的证书),浏览器还是会报错。

可能被问的问题

1. 为啥不统一放外网或者内网?

想尝试一下有没有这种操作。如果实在没有好的解决办法,我就把它放到内网去,或者找个没有用 https 的外网页面托管服务。

2. 为啥前端要用 https? 改成 http 不就好了?

外网的静态页面托管(类似 GitHub page )就是自带 https 的,设置不了

3. 为啥不是127.0.0.1或者localhost, 而是 192.168.1.9

因为我们内网有一台电脑用来运行一些轻量级程序,没有公网 IP 。

3841 次点击
所在节点    HTTP
27 条回复
mikeguan
2021-01-16 11:13:29 +08:00
我是没看懂这个操作,具体是基于什么考虑。
内网有资源放后端程序,不在乎前端占用那点资源了吧
如果只是想验证,那么是可行的
SingeeKing
2021-01-16 11:37:58 +08:00
如果只是自己用的话,自签一个证书然后信任就可以
dzdh
2021-01-16 11:42:14 +08:00
随便买个域名(哪怕是 tk 域名)。A 记录指向内网 IP 。然后给 letsencrypt 弄个免费证书即可。
40EaE5uJO3Xt1VVa
2021-01-16 12:21:28 +08:00
我现在就是,计算部分放到内网里,不过我用的是 frp 内网转发,公网上用 nginx 配置 https,然后用用 nginx 反向代理到 frp 的 web 端口上,还没遇到这样的问题
sudoy
2021-01-16 16:53:01 +08:00
谢谢大家回复!最后决定都放内网上了吗
pkwenda
2021-01-16 21:44:29 +08:00
@sudoy #25 是不是多了个吗
sudoy
2021-01-18 11:34:22 +08:00
@pkwenda 嗯,多打了一个字

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/745385

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX