现在公司的项目是后端也绑定了个域名,前端去调用外网域名来进行请求数据的
运维 and 后端的想法是不暴露后端接口地址,用户在本地打开前端站点
前端最好能通过 192.168.x.xx:1234
进行数据交互
请教了一下别的朋友,他说运维做个内网穿透就行了
我是个前端,现在就是运维和后端都觉得这件事应该前端处理,但是我之前没遇到过这种问题,所以请教下各位我应该怎么做才能实现这个需求,(我隐隐感觉这不是前端能处理的问题,不过还是希望各位指点一二
1
fuermolv 2019-07-31 10:39:18 +08:00
在某个机器做一个 nginx 转发到后端服务
|
2
selfcreditgiving 2019-07-31 10:49:12 +08:00
如果用到 webpack、vue 这些, 有 proxyTable 设置一下就可以转发了
```javascript proxyTable: { '/getLoginName': { target: 'http://192.168.0.127', changeOrigin: true, }, } ``` |
3
arthas2234 2019-07-31 10:49:38 +08:00
既然后端有域名,那就用 nginx 反向代理啊。域名解析到后端的地址,后端只监听本地 ip,用 nginx 转发
|
4
wc951 2019-07-31 11:19:30 +08:00 via Android
用户也在局域网里?
|
5
CEBBCAT 2019-07-31 11:23:12 +08:00 via Android
是需求过于天马行空还是我没看懂?这意思前端得用 JS 开一个代理服务器?可还是得回传数据啊,那不就被抓包得一清二楚了吗?
|
6
alienx717 2019-07-31 11:49:07 +08:00
你可一个改成 C/S 程序?
|
7
IdJoel OP @fuermolv @arthas2234 @wc951
暂时做的是后端有域名 但是运维 and 后端希望后端没有域名 毕竟是同局域网 所以运维提出了一个“通过端口去请求数据”的建议。nginx 反向代理试过了 好像不大行。 用户肯定是不在局域网内的, 只是给用户一个网址展示前端的页面。 @selfcreditgiving proxytable 只能应用于 dev 环境 @CEBBCAT 反正就是要求前端能取的到数据,但是后端的接口不对外暴露,举这样一个栗子 局域网:{ 后端: 我可以访问, 前端: 我也可以访问 } 公网:{ 前端:我可以访问, 后端:我不能访问 } 他希望我完成公网在访问前端的时候触发局域网前端访问后端取数据,然后通过前端在公网展示出来。 @alienx717 我去了解一下 C/S 程序 谢谢指点 |
8
leishi1313 2019-07-31 13:37:06 +08:00 via Android 1
我寻思了半天你的需求,现在终于明白了。你可以去看看 server side rendering,三大框架基本都有比较成熟的实现了,最后的效果就是用户直接拿到渲染好的页面,后端对用户是完全隐藏的(如果你们做的是无限滚动这种可能还是会有后端请求)
|