대리 방식 으로 크로스 필드 문 제 를 해결 하 다.

1628 단어 네트워크
프 록 시 방식 도 구 는 여러 가지 가 있 습 니 다. 여기 서 자주 사용 하 는 nginx 예 를 들 어 nginx 프 록 시 를 사용 하여 크로스 도 메 인 원 리 를 해결 하 는 것 은 간단 합 니 다. 브 라 우 저 동원 정책 의 제한 측면 에서 볼 때 프 록 시 방식 을 통 해 전단 페이지 와 백 엔 드 인터페이스 대 리 를 같은 소스 서비스 로 만 듭 니 다.이렇게 하면 전단 페이지 가 인 터 페 이 스 를 요청 할 때 같은 소스 정책 제한 으로 인 터 페 이 스 를 뛰 어 넘 는 문제 가 발생 하지 않 습 니 다.예 를 들 면:
nginx 설정, 전단 페이지 대 리 를 localhost: 80 주소 로 하고 백 엔 드 인터페이스 대 리 를 localhost: 80 / apis 주소 로 하면 브 라 우 저 는 전단 페이지 와 백 엔 드 인터페이스 가 같은 소스 라 고 생각 합 니 다.
메모: nginx 가 프 록 시 경 로 를 설정 할 때 Windows 경로 에 대한 지원 이 좋 지 않 기 때문에 루트 경 로 는 상대 경 로 를 사용 하 는 것 이 좋 습 니 다.
worker_processes  1;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
 
    server {
        listen       80;
        server_name  localhost;
		charset UTF-8;
		location / { #           
            root   html;
            index  index.html index.htm;
        }
        location /apis { #           
            proxy_pass http://localhost:8080/;
        }
    }
}

전단 페이지 JavaScript 설정, 위 nginx 프 록 시 를 거 쳐 현재 전단 페이지 주 소 를 통과 합 니 다.http://localhost/구체 적 인 페이지 경로 접근, 페이지 ajax 요청 인터페이스 주소 도 nginx 에이전트 로 바 꿔 야 합 니 다.http://localhost/apis/구체 적 인 인터페이스 주 소 를 방문 해 야 브 라 우 저가 호출 할 때 동원 제한 이 없다. 

hello crossorigin

$("#h3").click(function() { alert(" "); $.ajax({ url:"http://localhost/apis/crossorigin", # nginx success:function(data) { alert("Data: " + data); } }); });

좋은 웹페이지 즐겨찾기