html – Stellen Sie eine domänenübergreifende Frage schwach
phpcn_u1582
phpcn_u1582 2017-05-16 17:10:52
0
2
482

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_u1582
phpcn_u1582

Antworte allen(2)
PHPzhong

跨站的解决方案很多,常见的是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

小葫芦

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!