Heim  >  Fragen und Antworten  >  Hauptteil

html – Stellen Sie eine domänenübergreifende Frage schwach

Auf demselben Server ist beispielsweise das Hauptverzeichnis der Website an www.domain.com und das Backend der Website an www.domain.com:8080 gebunden.

Auch wenn die Ports unterschiedlich sind, wird es als domänenübergreifend betrachtet, oder? Ich finde, dass diese Situation domänenübergreifend etwas unfair ist und POST nicht domänenübergreifend praktisch ist, oder?

Haben Sie gute Möglichkeiten, dieses Problem zu lösen? Können Sie bestimmte Einstellungen verwenden, um Cross-Domain zwischen der Website und dem Backend zu verhindern? Diese Methode der Trennung von Website und Backend wird früher oder später zu domänenübergreifenden Problemen führen, oder?

phpcn_u1582phpcn_u15822714 Tage vor490

Antworte allen(2)Ich werde antworten

  • PHPz

    PHPz2017-05-16 17:12:52

    跨站的解决方案很多,常见的是JSONP,代理转发,还有就是HTLM5的Allow Orgin允许跨站访问的新功能。

    你这种情况,建议在网站的Ngingx设置个代理,转发到网站后台就可以了,配置大概是这样的:

    upstream backend {
        server backend1.example.com:8080;
    }
    
    server {
        location /api {
            proxy_pass http://backend;
        }
    }

    在前端页面,通过ajax访问的地址为:http://www.example.com/api/xxx

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-16 17:12:52

    端口不同本来就是不同的站点,站点与站点之间就是跨域啊!通过分开前后台,是可以让网站比较安全,也可以分端维护,我觉得没必要去用前端跨域请求后台,这样会把后台曝露了,而且程序设计上也不应该通过前端跨域取数据吧!除非你数据库是文件型数据库Access或sqlite这类,那就是你设计上的问题,请求数据只需要有数据连接就可以的了。没必要跨域。

    Antwort
    0
  • StornierenAntwort