흑 한도 서버 중 일부 nginx 설정

2595 단어
  • 중국 방문, 301 중국 주소 로 건 너 뛰 기.국내 에 서 는 io 도 메 인 이름 을 지원 하지 않 고 외국 으로 분석 한 후 301 번 뛰 어 올 수 밖 에 없다.환경 변 수 를 먼저 설정 합 니 다.
    geo $country {
         default ZZ;
         1.3.0.0/16 CN;
         1.8.0.0/16 CN;
          #   
    }
    
    (CN 의 구체 적 인 목록 은 chinaip 프로젝트 를 참조 하여 apnic 에서 분 배 된 중국 지역 ip 을 분석 하여 대량의 ip 세그먼트 로 통합 할 수 있 습 니 다. nginx 에 대해 서 는 geo. conf 를 따로 제공 합 니 다.) 그리고 상황 에 따라 등록 할 수 있 는. com 도 메 인 이름 으로 돌아 갑 니 다.
        set $zh_host "";
    
        if ($country = 'CN') {
            set $zh_host "zh.${host}";
        }
    
        if ($zh_host = zh.jianyu.io) {
                return 301 https://jianyv.com$request_uri;
        }
    
        if ($zh_host = zh.br.jianyu.io) {
                return 301 https://br.jianyv.com$request_uri;
        }
    
  • latest. apk 는 실제 버 전의 검 은 한도 로 서버 에 있 고 latest. apk 는 소프트 링크 입 니 다.nginx 에서 실제 파일 을 가 져 오고 뛰 어 넘 습 니 다.다음 사용 $country 은 내 장 된 perl 관련 모듈 입 니 다.lua 를 지원 한다 면, 쓰기 가 더욱 우호 적일 수 있 습 니 다.
    perl_set $realname '
        sub {
            my $r = shift;
    
            if (-l $r->filename) {
                    return readlink($r->filename);
            }
    
            return "";
        }
    ';
    
    그리고 302 번 뛰 기.
         location /br/latest.apk {
             if ($realname != "") {
                 return 302 https://dl.jianyv.com/br/$realname;
             }
         }
    
  • 운영 체제 와 언어 에 대한 맞 춤 형 인터페이스, 예 를 들 어 brevent. sh 는 실제 5 가지 버 전이 있다.간 체 중국어 에 대해 서 는 운영 체제 별로 버 전 을 보 여 줍 니 다.주의해 야 할 것 은 안 드 로 이 드 가 리 눅 스 부분 집합 이 라 안 드 로 이 드 를 발견 하고 운영 체 제 를 재 설정 했다 는 점 이다.또한 css 에서 작은 화면 이 라면 맞 춤 형 힌트 를 추가 합 니 다. 이것 은 media 속성 을 이용 합 니 다.(네, 저 는 자 바스 크 립 트 를 쓰 고 싶 지 않 습 니 다.)
        set $lang '';
        if ($http_accept_language ~ 'zh-CN') {
            set $lang 'zh';
        }
        # ie edge       zh-Hans
        if ($http_accept_language ~ 'zh-Hans') {
            set $lang 'zh';
        }
    
        set $os '';
        if ($http_user_agent ~ Windows) {
            set $os 'windows';
        }
        if ($http_user_agent ~ Macintosh) {
            set $os 'macos';
        }
        if ($http_user_agent ~ Linux) {
            set $os 'linux';
        }
        if ($http_user_agent ~ Android) {
            set $os '';
        }
    
        location / {
            index index.$os.$lang.html index.$lang.html index.html;
        }
    
  • 모든 오류 페이지 는 404 로 표 시 됩 니 다.이것 / 404. html 에 대해 서 는 당연히 404 로 돌아 가 야 합 니 다.
        error_page 400 403 404 405 500 502 503 504 =404 /404.html;
        location = /404.html {
            internal;
        }
    
  • 좋은 웹페이지 즐겨찾기