크로스 도메인 액세스 API에 대한 아파치 + PHP YII 프레임 워크

다른 도메인 이름을 직접 아약스에 API를 호출하여 사실, 당신은 YII 프레임 워크에서 아무것도 설정하지 마십시오

그러나 이렇게 아파치를 설정해야합니다 :

첫째,이 문장 노트를 제거하기 위해 httpd.conf 파일을 편집을 LoadModule headers_module 모듈 / mod_headers.so

그런 다음 파일 아파치 - vhosts.config 종의 헤더 정보를 추가

헤더는 액세스 제어-Allow- 설정 - 원산지 * 모든 도메인 이름에 액세스 할 수 있도록 수단
헤더는 액세스 제어-Allow- 설정 - 헤더 "access_token이"를 이 줄을 추가 access_token이 : 예를 들어 사용자 정의 요청 헤더가있는 경우를,

사용자 지정 요청 헤더가있는 경우를 추가하지 마십시오, 그것은 오류가 발생하지 : 요청 헤더 필드 access_token은이 액세스 제어 - 허용 - 헤더에 의해 허용되지 않습니다

당신은 JSONP 또는 필요한 엔지니어링의 프록시 너무 많은 양을 변경, 그래서 CORS이 비교적 간단하고 효율적인 기술을 사용합니다. 보다 효율적인 방법 JOSP, CORS에 비해. 그 원리는 GET 요청을 달성 할 수의 JSONP는 CORS는 HTTP 요청의 모든 유형을 지원하기 때문이다. 사용 CORS, 당신은 일반 도메인 간 아약스를 사용할 수 있습니다.

헤더는 액세스 제어-Allow- 설정  원산지 *의 의미가 도메인에 의해 시작된 모든 요청은 현재 데이터 서버를 검색 할 수 있도록 구성되어있다. 물론, 이것은 매우 위험, 악성 사이트는 XSS를 통해 우리의 서버를 공격 할 수 있습니다. 따라서 우리는 다음과 같은 API 세트와 같은 보안 제한의 원인을 타겟으로하는 것을 시도해야하는 크로스 도메인 액세스 서버에 순서 만 http://123.com/이 필드를 수 있습니다. 헤더는 액세스 제어-Allow- 설정 원산지를 http://123.com/

 


이 세 개의 가상 디렉토리를 설정 내 아파치 - vhosts.config 파일, 특정 참조입니다 : https://blog.csdn.net/baidu_41327283/article/details/82668757

# 가상 호스트
#
<VirtualHost의 * : 80>
서버 이름 mysite1.com
ServerAlias에 mysite1.com
을 DocumentRoot "$ {INSTALL_DIR} / www /에서 ourchildren / jzymaosida-childrenfront 마스터 / childrenfront / 웹"
<디렉터리 "$ {INSTALL_DIR} / www /에서 ourchildren / jzymaosida-childrenfront 마스터 / childrenfront / 웹 / ">
옵션 + 인덱스 + 포함 + FollowSymLinks를 + MultiViews를
에 AllowOverride 모든
필요 부여 된 모든
헤더는 액세스 제어 - 허용 - 원산지 * 설정
헤더는 액세스 제어 - 허용 - 헤더 설정" "access_token이를
< / 디렉토리>
</ VirtualHost의>


<가상 호스트 * : 80>
서버 이름 mysite2.com
ServerAlias에 mysite2.com
을 DocumentRoot "$ {INSTALL_DIR} / www /에서 ourchildren / jzymaosida-ourchildren - 웹 - 개발 / ourchildren - 웹 / 웹"을
"<디렉토리를 $ {INSTALL_DIR} / www /에서 ourchildren / jzymaosida-ourchildren - 웹 - 개발 / ourchildren - 웹 / 웹 / ">
옵션 + 인덱스 + 포함 + FollowSymLinks를 + MultiViews를
에 AllowOverride 모든
필요 부여 된 모든
헤더는 액세스 제어 - 허용 - 원산지 * 설정
헤더 "access_token이"액세스 제어가-헤더를 허용 세트
</ 디렉토리>
</ VirtualHost의>


<가상 호스트 * : 80>
서버 이름 mysite3.com
ServerAlias에 mysite3.com
을 DocumentRoot "$ {INSTALL_DIR} / www /에서 ourchildren / jzymaosida-ourchildren - 백엔드 - 어린이-V1 / ourchildren - 엔드 / 백엔드 / 웹 "
<디렉터리"$ {INSTALL_DIR} / www /에서 ourchildren / jzymaosida-ourchildren - 백엔드 - 어린이-V1 / ourchildren - 엔드 / 백엔드 / 웹 / ">
옵션 + 인덱스 + 포함 + FollowSymLinks를 + MultiViews를
에 AllowOverride 모든
모든 승인이 필요한
헤더는 Access-Control-Allow-Origin * 설정
헤더 설정 액세스 제어 - 허용 - 헤더 "access_token은"
</ 디렉토리>
</ VirtualHost의>

추천

출처www.cnblogs.com/eric-qin/p/11434345.html