前后端分离 内部 api 调用的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
flyzero
V2EX    API

前后端分离 内部 api 调用的问题

  •  
  •   flyzero 2018 年 8 月 18 日 4232 次点击
    这是一个创建于 2767 天前的主题,其中的信息可能已经有所发展或是发生改变。

    情况是这样的: 前端静态资源 和 后台在同一服务器上( http),前端调用后台 api 接口请求数据,之前一直是本地调用试试的,今天放到外部服务器上(用 https 了),改成 https://120.0.0.1/api/xxxxx,调用失败,请问这种该怎么写?

    14 条回复    2018-08-19 13:24:58 +08:00
    Torpedo
        1
    Torpedo  
       2018 年 8 月 18 日 via Android
    跨域不?
    qinxi
        2
    qinxi  
       2018 年 8 月 18 日 via Android   1
    ???还有这种操作?你的意思是你用 Ajax 请求的地址是 127.0.0.1 ?先不说你 https 配置问题。。。
    请求的地址应该是用户浏览器可访问的 host:端口,127 这个 IP 是本机 IP,也就是你让用户访问自己的电脑?
    再来说 HTTPS 的问题,我觉得你应该没有针对 IP 的 ssl 证书吧?那你就用你域名。没解决跨域就用你网页所在域(包括协议 host 端口)
    还有一点需要注意是 HTTPS 的页面环境不能使用 HTTP 请求获取脚本和 Ajax,图片视频倒是可以
    qinxi
        3
    qinxi  
       2018 年 8 月 18 日 via Android   1
    强烈建议楼主系统的学习一下,既然都使用 HTTPS 了,我觉得应该不是初学者了吧。
    Hilong
        4
    Hilong  
       2018 年 8 月 19 日 via Android
    额⊙⊙!如果在同一台机器上,你可以把 127.0.0.1 去掉,直接访问 /api/xxx
    yunye
        5
    yunye  
       2018 年 8 月 19 日
    有点尴尬了
    Tink
        6
    Tink  
    PRO
       2018 年 8 月 19 日 via iPhone
    @qinxi #2 明明是 120
    caola
        7
    caola  
       2018 年 8 月 19 日   1
    @flyzero 先不管你 https 的 IP 120.0.0.1 能否正常访问, 如果请求不在同一域名下,你得了解一下 CORS
    night98
        8
    night98  
       2018 年 8 月 19 日 via Android
    页面 url 应为 /api/user
    你这个基础知识还需要再学习一下。。。
    Athrob
        9
    Athrob  
       2018 年 8 月 19 日 via iPhone   1
    1. 地址不对,120.0.0.1 是举例子还是就这么写的???
    2. 证书问题,https 证书必须和域名匹配,纯 IP 好像不能正常申请 https 证书吧
    3. 跨域问题
    最后,开发者控制台看看错误输出
    qinxi
        10
    qinxi  
       2018 年 8 月 19 日 via Android   1
    @Tink 好尴尬,我觉得他应该想写的是 127
    qinxi
        11
    qinxi  
       2018 年 8 月 19 日 via Android   1
    @Athrob IP 的 ssl 是有的 比如 https://1.1.1.1,但是不知道普通用户怎么申请 IP 的证书
    Kinnice
        12
    Kinnice  
       2018 年 8 月 19 日 via Android
    @qinxi 和普通域名申请 ssl 差不多 eg.数安时代 ssl
    flyzero
        13
    flyzero  
    OP
       2018 年 8 月 19 日 via Android
    好尴尬,本来想写 127 的,后来脑子开窍了一下,访问 API,还是客户端访问的,所以直接改成 https://www.xxxx.xx/api/xxx 可以了,虽然只起了一个服务(前后端在一个服务器上),跨域这个已经设置了,跨域这个我在了解一下,尴尬,谢谢各位大佬
    weixiangzhe
        14
    weixiangzhe  
       2018 年 8 月 19 日 via iPhone
    用一台机器为什么要用 ip 访问类nginx 不是更好点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5912 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 02:46 PVG 10:46 LAX 19:46 JFK 22:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86