求助局域网部署 https 并开启双向认证

2023-06-20 09:19:07 +08:00
 kaz10025
现在局域网有台服务器部署了 springboot 项目,只能 ip 访问,需要开启 https 。然后还有安卓环境调用 web 接口, 需要进行 ssl 双向认证
2108 次点击
所在节点    问与答
25 条回复
idealhs
2023-06-20 09:23:23 +08:00
搞个便宜的云服务器反代一下
kaz10025
2023-06-20 09:24:04 +08:00
@idealhs 服务器没有外网的
idealhs
2023-06-20 09:25:37 +08:00
@kaz10025 那就只可能自签名证书了,安卓怎么装自签名证书我不懂,有请楼下高人
lixuanyy
2023-06-20 09:27:00 +08:00
生成 ca 证书,在设备上信任一下,然后自己签发证书咯
hefish
2023-06-20 09:27:58 +08:00
多数安卓导入 ca 需要 root 吧。。。
kaedeair
2023-06-20 09:30:18 +08:00
买个域名,申请个证书,然后路由器上劫持一下 dns
kaz10025
2023-06-20 09:30:27 +08:00
@lixuanyy 安卓软件有办法吗 证书装不上
kaz10025
2023-06-20 09:31:17 +08:00
@kaedeair 严格意义上讲 我们只能动服务器和安卓软件😭
kaedeair
2023-06-20 09:55:03 +08:00
@kaz10025 #8 那想办法在安卓上劫持一下 dns ,或者服务器上开一个旁路由,把安卓的网关指向旁路由
cpsony
2023-06-20 09:56:43 +08:00
证书的话,可以试下微软的 Microsoft Intune ,自动给设备导入第三方证书、安装软件,就是刚开始弄麻烦点。
yinmin
2023-06-20 10:01:20 +08:00
最简单的方式:配置一个域名指向内网 ip 地址,然后用这个域名申请证书安装到服务器上,客户端使用域名访问服务
FarmerChillax
2023-06-20 10:09:13 +08:00
问个问题,不和外网连接,为啥需要 https
Vegetable
2023-06-20 10:10:01 +08:00
都说什么呢,直接做自签名证书不就完了吗?反正是安卓客户端用又不是浏览器用
kaz10025
2023-06-20 10:28:53 +08:00
@Vegetable 找了好些教程 都不行 需要一个 demo..
kaz10025
2023-06-20 10:29:12 +08:00
@FarmerChillax 安卓联网的
kukat
2023-06-20 10:40:32 +08:00
双向 SSL (mutual SSL) 跟自签证书是两回事,如果对客户端没要求那就不用上 mutual SSL ,自签就够了
要示例代码的话得看你用的是什么 HTTP client ,通常都支持指定自签证书。

HttpsUrlConnection 的例子
https://gist.github.com/gotev/6784c1303793c6ee9e56
hyperbin
2023-06-20 10:43:05 +08:00
@hefish 不需要
bitmin
2023-06-20 10:44:28 +08:00
安卓 app 如果是你们自己开发,在 http 请求方法里可以自定义认证吧
Vegetable
2023-06-20 10:51:28 +08:00
@kaz10025 你这里涉及到好几个步骤,所以不一定能找到特别匹配教程。

自建 CA 很简单,网上很多教程。给 IP 签发证书这个点稍微生僻一点,不少人不知道证书还能发给 ip 。然后就是生成双向需要的证书,配置服务器和修改客户端网络请求部分的代码。

因为你不是在抓包,而是自己开发。所以不涉及到所谓安装证书这一步,而是需要在 Android 代码中请求时处理对应的 SSL 。

https://juejin.cn/post/6844903953407148045 我看这个教程和你挺般配的,他这里签名用的域名不是 IP ,和你需求不一样。这一点你可以看别的教程,比如 https://www.cnblogs.com/dirigent/p/15246731.html ,也可以试试这个仓库 https://github.com/antelle/generate-ip-cert
zedpass
2023-06-20 11:43:35 +08:00
部署 https://github.com/NginxProxyManager/nginx-proxy-manager 这个,自带 nginx ,可以使用 web 管理,并且可以从 Let's Encrypt 自动签发证书,内网服务做测试用很方便

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

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

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

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

© 2021 V2EX