역방향 프록시 속도 문제.. 도저히 모르겠습니다..
안녕하세요
예전에 NPM 속도 관련해서 질문 남겼었는데
Caddy로 넘어가고 나서 해결된 줄 알았습니다.
하지만 어느새부턴가 Caddy도 속도가 나오지 않네요..
Webdav를 사용하던, DSM에 업로드하던
도메인:포트로 접속하면 80mb/s를 뽑아주는데
역방향 도메인으로 접속하면 20mb/s가 최대고 중간중간에 멈추기도 하네요..
혹시 몰라서 NPMplus으로 만들어보고
Advanced탭 가서 수정 다 해봤지만 똑같네요
도대체 어디가 문제인걸까요...
+++
추가테스트 해보니
다운로드 시에는 둘 다 80MB/s 뽑아주고
업로드 시에만 문제가 발생하네요..
좋은답변을 받기위해서는 좋은 질문이 필요합니다.
유의할점⚠️
- 예의를 지켜주세요. 답변자는 답변을 할 의무는 없습니다.
- 질문에 대한 대부분의 답은 검색으로 찾아보실 수 있습니다.
- 답변자가 답변을 하면서 대개 많은 경우는 다시 질문을 하는 경우가 많이 있습니다.
- (질문의 대한 정보가 부족합니다. ~일 경우 결과물이 어떻게 됩니까? 등등)
질문방법🙏
자신의 상황을 최대한 자세히 설명해주세요.
상황이 정확하고 많을 수록 답변의 정확도가 올라갑니다.
ex) ex) 헤놀로지라면 메인보드 모델 칩셋정보, CPU, 사용한 DSM 버전, 모델, 부수적인 추가 컨트롤러 나 랜카드 등과 어떠한 로더의 이미지를 사용했는지.(arpl-i18n, mshell), 어떤 버전을 사용했는지, 문제가있다면 어떠한것인지 스크린샷을 동반하고 에러의 경우 에러로그를 출력해서 주시면 좋습니다.
*가능하면 최신버전 OS/SW를 이용해주세요
답변에대한 피드백을 주세요.
정보가 질문에 모두 담겨있지않다면 대부분의 답변이 다른정보를 요구합니다.
이러한 답변에 대해 명확한 피드백을 주시면 도움이 됩니다.
헤어핀 관련 확인해보시면 될듯 합니다.
내부망 관련해서 문제가 될 수 있나요?
헉 같은 망에서 사용하는줄 알았네요.
리버스 프록시의 캐싱 설정이나, 네트워크 경로를 한번 확인해보셔야겠는데요...?
SSL/TLS 핸드셰이크 때문일수도 있구요.....
nginx라면 버퍼 한번 조절해보실래요?
proxy_buffering off 해도 nginx에서 캐싱/버퍼링 하더라구요 proxy_request_buffering도 OFF한번 해보시고 확인해보세요~
뒷단에 서버가 하나라도 upstream이나, keepalive를 줘보세요 :)
이런식으로요
https://github.com/NavyStack/focalboard-ns/blob/26fc7c9b79fe10518a4a775277e3b73777814345/nginx/default.conf#L4-L7
한 집 안에 있긴한데, 같은 공유기에 연결되어 있진 않습니다. 있는 방이 달라서..
이럴경우 내부망은 아닌것이지요?
버퍼 관련해서는
caddy로도 증상은 똑같고, NPMplus로 진행했을 때 advanced 탭에서
proxy_max_temp_file_size 0;
client_max_body_size 0;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
proxy_send_timeout 1800;
proxy_request_buffering off;
이렇게 설정해두고 테스트 했었습니다. 수정해야 할 것이 있을까요?
다운로드 시에는 둘 다 80MB/s 뽑아주고
업로드 시에만 문제가 발생하네요
location / {
proxy_pass {{reverse_proxy_url}};
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass_request_headers on;
proxy_max_temp_file_size 0;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
제가 보통 리버스 프록시 할때 사용하는 옵션입니다.
버퍼 관련인것 같은데 하나씩 테스트 해보시는 수밖에는 없겠는데요 .. ^^
proxy_max_temp_file_size이 0이면 전부 메모리에 기록합니다.
이 설정 값을 0으로 설정할 때는 시스템의 메모리 용량과 응답 데이터 크기를 고려하여 결정해야 합니다.
큰 파일을 다루는 경우에는 디스크에 임시 파일을 저장하는 것이 더 안전할 수 있습니다.
리버스프록싱 도메인과
도메인 포트 둘다 nginx를 통해서 접속하는것 맞죠...?
하나는 webdav 다이렉트고, 하나는 nginx를 경유하는건 아니죠?
일단 보내주신 옵션 보고 테스트 해보겠습니다 감사합니다.
예전 달소님 글 중에, proxy는 host 모드가 속도가 낫다고 한 글이 있습니다.
https://it-svr.com/nginx-proxy-manager-npm-network-speed-setting/
npmplus는 기본값이 host모드로 되있어서
그 문제는 아닌 것 같아요...
proxy_max_temp_file_size 0;
client_max_body_size 0;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
proxy_send_timeout 1800;
proxy_request_buffering off;
작성해 봤지만 똑같았네요..
아이피 말고 도메인 : 포트로 접속시에는 속도가 잘 나와서
일단 클플 문제는 제치고 생각중인데 틀릴수도 있을까요?
네 DNS로만 사용중이에요
혹시 NPMplus에서 https를 해제하고 http로 사용했을때도 같은지 확인해 주실 수 있을까요?
다운로드는 문제없고 업로드 속도만 이상하네요..
cmt alert