질문/조언질답게시판

제가 운영하는게 아닌 어떤 다른 사이트에 대해서 nginx를 써서

리버스 프록시를 설정하려고 합니다.

 

(브라우저) ---> (nginx 리버스프록시 서버, 제 도메인) ----> (원래 사이트)

 

이렇게 구성을 하려는거죠.

근데 그냥 보통 사이트에 대해서는 잘 되는데 

원래 사이트가 클라우드플레어를 쓰고 있으면 리버스 프록시 설정이 안먹는군요...

nginx에서 502 bad gateway 에러만 뜹니다.

이게 클플에서 막아서 그런건가요?

클플에서 도대체 어떤 수를 썼길래 이걸 막을 수가 있는걸까요...?

  • profile
    전 BunnyCDN 사용중인데 (얘도 그냥 nginx 리버스 프록시에 몇몇 설정 추가한겁니다), 클플 앞에 물려놔도 잘 되는데요? Nginx 설정파일을 올려주시면 다른분들이 도와주시기 더 쉬울 것 같습니다
  • ?
    server {
    server_name mytestdomain.com;
    listen 80;
    access_log off;
    error_log off;
    location / {
    proxy_pass https://hiyobi.me/;
    }
    }

    설정은 이렇게 되어 있습니다.
    너무 심플해서 뭐 딱히... 되려 뭔가 빼트린걸까요?
  • ? profile

    서버에서 hsts 헤더 날리네요. https 적용 해보세요

     

    그리고 이사이트는 리버스 프록시 쓰면 클플 핫링킹 방지 때문에 사진 안뜹니다... nginx 설정에서 Referer: https://hiyobi.me 헤더 추가하세요 :)

     

    test1.b-cdn.net 연결해 놨으니 한번 들어가보세요 :)

  • profile ?
    hsts때문에 https를 적용한다는게 어떤 의미인가요? 아무리 검색해도 알 수가 없네요..
  • profile ?
    proxy_set_header Referer "https://hiyobi.me/";
    proxy_set_header Strict-Transport-Security "";

    이렇게 2줄 붙여주면 되는게 맞나요? 이러면 되야할 것 같은데 도저히 안되네요..
    답안지 좀 보여주시면 안될까요..
  • ? profile

    listen 443 ssl; 추가하시고 자체서명 인증서나 Let's Encrypt 추가하셔서 들어가보세요~

     

    죄송합니다ㅠㅠ 직접 Nginx에서 reverse proxy 생성하니까 안되네요..ㅠㅠ 좀 더 해보고 다시 답변 드리겠습니다ㅠㅠ

  • ? profile
    SNI 지원 문제였네요

    proxy_ssl_server_name on;

    이거 추가해주시면 될겁니다!
  • ? profile
    제 nginx config 파일은 이렇게 해서 성공했습니다

    server {
    server_name v2ray.ne10.cc;
    listen 80;
    listen 443 ssl;
    ssl_certificate /var/certs/cert.pem;
    ssl_certificate_key /var/certs/key.pem;
    access_log off;
    error_log off;
    location / {
    proxy_pass https://hiyobi.me/;
    proxy_set_header Referer "https://hiyobi.me/";
    proxy_ssl_server_name on;
    }
    }
  • profile ?
    핫..! 리버스 프록시를 이런 곳에 쓸 수도 있군요.

    히요비가 이미지 파일은 다른 도메인을 써서 그런지 이미지가 안보이던데 이런 경우에는 해결책이 있나요?
  • ? profile
    proxy_pass_header 부분 추가해도 그런가요?
  • profile ?
    아... 그러면 되는군요. 알려주셔서 감사합니다.

서버에 요청 중입니다. 잠시만 기다려 주십시오...