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

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

HttpsUrlConnection 的例子
https://gist.github.com/gotev/6784c1303793c6ee9e56
hyperbin
327 天前
@hefish 不需要
bitmin
327 天前
安卓 app 如果是你们自己开发,在 http 请求方法里可以自定义认证吧
Vegetable
327 天前
@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
327 天前
部署 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