상황은 다음과 같습니다.
1# 도메인 이름 확인 공급자는 Baidu Cloud Accelerator로 확인하고 Baidu Cloud Accelerator에서 원본 IP인 103.25.199.246으로 확인한 후 그림과 같이 클라이언트가 완전히 정상적으로 열립니다. 아래에서는 중간 프레임이 정상적으로 표시됩니다.
2# 다음은 Nginx를 사용하여 제가 직접 구현한 Anti-Generation Acceleration입니다.
원본 사이트는 mkt.guticn.com입니다.
원본 사이트 IP는 103.25.199.246
프록시 도메인 이름은 mkt.guticn.com
프록시 IP는 자신의 프록시의 공개 IP입니다.
프록시의 nginx 구성은
server {
server_name mkt.guticn.com
listen 80; / {
proxy_buffering 'off';
proxy_ignore_headers 'X-Accel-Buffering';
proxy_hide_header 'Access-Control-Allow-Origin';
proxy_hide_header 'Cache-Control'; //mkt.guticn .com;
proxy_set_header X-Remote_addr';
proxy_set_header t 'on'
proxy_set_header 연결 '업그레이드'; = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true'
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header '액세스 제어-허용 헤더' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type ,Accept';
add_header 'Content-Type' 'text /plain charset=UTF-8'
return 204;
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true'; 메소드' 'GET, POST, OPTIONS';
add_header '액세스 제어-허용 헤더' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache- Control,Content-Type,Accept';
if ($request_method = 'GET') {
add_header 'Access -Control-Allow-Origin' '*'
add_header 'Access-Control-Allow-Credentials' 'true ';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested -With,If-Modified-Since,Cache-Control,Content-Type,Accept';
proxy_redirect ~http (.
)guticn.com(.
) http$guticn.com$2
proxy_cookie_domainguticn.comguticn .com;
}
}
http://mkt.guticn.com/onebook...을 열어보니 아래 사진처럼 400이 나오네요,
표시가 안되는데 아무리봐도 너무 이상하네요 확인해 보세요. 못 찾았어요. 덮어놨는데 문제는 없는데 400인데 짜증나네요. 몇 달이 지나도 사장님은 항상 저를 재촉하십니다.
0x1# 그러면 Baidu Cloud Acceleration은 400 없이도 이런 식으로 구현할 수 있습니다.
0x2# Accelerator도 사용해봤는데 400 오류도 나타납니다.
0x3# 구성이 잘못된 것 같아요.
훌륭한 스승이 있는지 궁금합니다. 아니면 내 딸의 구성이 잘못되었습니다.
이것을 본 친구들은 시도해 볼 수 있습니다. 테스트 방법:
1. 가상 머신을 열고 위의 구성을 추가합니다.
2. 물리적 머신 HOST를 가상 머신으로 변경하고 테스트합니다. 모두 감사합니다.
阿神2017-05-16 17:16:52
소녀.
400 오류이고 여전히 발생해야 하는 문제이므로 단계별로 찾아 해결하는 것은 제거 방법이 될 수 없습니다. 제가 드릴 수 있는 조언은 몇 가지뿐입니다.
요청의 끝점(즉, 문제가 발생한 위치)을 결정합니다. nginx는 access.log를 통해 이를 볼 수 있습니다
가장 기본적인 구성에서 기능이 정상적으로 실행되고 불필요한 간섭을 피할 수 있도록 구성을 단순화하세요
원본 사이트는 mkt.guticn.com
프록시 도메인 이름은 mkt.guticn.com 두 도메인 이름이 동일합니까? 클라이언트 액세스 mkt.guticn.com
地址,nginx又转发到mkt.guticn.com
주소, 이 구성은 무엇을 의미하나요?
过去多啦不再A梦2017-05-16 17:16:52
1. 반환되는 로그가 없습니다. 반환되는 것은 유용한 로그인 POST 400이고, 나머지는 일반 로그입니다.
2. 테스트된 가장 간단한 역방향 프록시에는 결과가 없습니다.
CDN 가속과 같습니다.