Nginx implementiert domänenübergreifende AJAX-Anfragen

WBOY
Freigeben: 2016-08-08 09:30:27
Original
1464 Leute haben es durchsucht

Mehr: http://www.webyang.net/Html/web/article_135.html

So werden domänenübergreifende HTTP-Anfragen im neuesten W3C-Standard implementiert,

Cross-Origin-Ressourcenfreigabe
Einfach ausgedrückt gibt der domänenübergreifende Zielserver eine Reihe von Headern zurück, und diese Header werden verwendet, um zu steuern, ob der domänenübergreifenden Nutzung zugestimmt wird.
Diese Header sind:
4 Syntax
4.1 Access-Control-Allow-Origin HTTP-Antwort-Header
4.2 Access-Control-Max-Age HTTP-Antwort-Header
4.3 Access-Control-Allow- Anmeldeinformationen HTTP-Antwort-Header
4.4 Access-Control-Allow-Methods HTTP-Antwort-Header
4.5 Access-Control-Allow-Header HTTP-Antwort-Header
4.6 Ursprungs-HTTP-Anfrage-Header
4.7 Access-Control-Request - Methode HTTP-Request-Header
4.8 Access-Control-Request-Header HTTP-Request-Header
Es gibt einige im Request-Paket und im Response-Paket.
Am sensibelsten ist der Access-Control-Allow-Origin-Header, der im W3C-Standard verwendet wird, um zu prüfen, ob die domänenübergreifende Anfrage weitergeleitet werden kann. (Zugriffskontrollprüfung)
Wenn Sie also domänenübergreifend arbeiten müssen, besteht die Lösung darin, Access-Control-Allow-Origin zum Header der Ressource hinzuzufügen, um die von Ihnen autorisierte Domäne anzugeben. Geben Sie einfach das Sternchen* an, jede beliebige Domain reicht aus. Besuchen Sie meine Ressourcen.

Die spezifische Betriebsmethode kann über verschiedene Eingänge gesteuert werden:

1. PHP-Code-Steuerung:
<ol><li value="1"><span><?</span><span>php</span></li><li><span>header</span><span>(</span><span>"Access-Control-Allow-Origin: *"</span><span>);</span></li><li><span>?></span></li></ol>
Nach dem Login kopieren
2. HTML-Header-Steuerung:
<ol><li value="1"><span><meta</span><span></span><span>http-equiv</span><span>=</span><span>"Access-Control-Allow-Origin"</span><span></span><span>content</span><span>=</span><span>"*"</span><span>></span></li></ol>
Nach dem Login kopieren
3. Nginx-Konfiguration:
<ol>
<li value="1">
<span>location </span><span>/</span><span></span><span>{</span>
</li>
<li>
<span>  add_header </span><span>Access</span><span>-</span><span>Control</span><span>-</span><span>Allow</span><span>-</span><span>Origin</span><span></span><span>*;</span>
</li>
<li><span>}</span></li>
</ol>
Nach dem Login kopieren
Ich habe im Internet gesehen, dass jemand drei Sätze zur nginx.conf hinzugefügt hat:
<ol>
<li value="1"><span>#授权从other.subdomain.com的请求</span></li>
<li>
<span>add_header </span><span>'Access-Control-Allow-Origin'</span><span></span><span>'http://other.subdomain.com'</span><span>;</span>
</li>
<li><span>#当该标志为真时,响应于该请求是否可以被暴露</span></li>
<li>
<span>add_header </span><span>'Access-Control-Allow-Credentials'</span><span></span><span>'true'</span><span>;</span>
</li>
<li><span>#指定请求的方法,可以是GET,POST等</span></li>
<li>
<span>add_header </span><span>'Access-Control-Allow-Methods'</span><span></span><span>'GET'</span><span>;</span>
</li>
</ol>
Nach dem Login kopieren

Aber ich habe es selbst getestet und es ist nicht notwendig. Wenn Sie außerdem einen bestimmten Domänennamen angeben möchten, ändern Sie einfach *, bei dem es sich normalerweise um den Domänennamen der zweiten Ebene einer geöffneten Site handelt.

Das Obige stellt Nginx vor, um domänenübergreifende AJAX-Anfragen zu implementieren, einschließlich einiger Aspekte des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage