채택완료
Nginx 전면 프록시, Apache 백엔드 웹 서버로 사용했을 때는 설치시 SSE 오류
Nginx를 전면 프록시로, Apache를 백엔드 웹 서버로 사용했을 때는 그누보드7 설치할 때 SSE 오류 때문에 진행이 안됩니다.
새로고침 여러번 했을 설치되는 경우도 있으나 설치 후에도 SSE 오류는 지속됩니다.
그래서 아래와 같이 조치를 했는데, 더 진행을 해봐야 하는 방법이 뭐가 있을까요?
1. 혹시 몰라 port 8080 방화벽에서 제외
2. 아래 부분 설정
2번 부분을 적용을 하면 설치과정 5/5에서 SSE 오류로 더 이상 진행이 되지 않습니다.
** nginx+php-fpm 으로 진행했을 때는 SSE 오류는 생기지만 설치는 됩니다.
새로고침 여러번 했을 설치되는 경우도 있으나 설치 후에도 SSE 오류는 지속됩니다.
그래서 아래와 같이 조치를 했는데, 더 진행을 해봐야 하는 방법이 뭐가 있을까요?
1. 혹시 몰라 port 8080 방화벽에서 제외
2. 아래 부분 설정
[Nginx 설정]
location /install/api/ {
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 600s;
}
[Apache 설정]
# .htaccess 또는 httpd.conf
<Location /install/api/>
SetEnv no-gzip 1
</Location>
[PHP 설정]
// install-worker.php 최상단에 추가
ini_set('output_buffering', 'off');
ini_set('zlib.output_compression', 'off');
@apache_setenv('no-gzip', 1);
2번 부분을 적용을 하지 않았을 때는 새로고침을 하면 SSE 오류는 생기지만 설치는 됩니다.2번 부분을 적용을 하면 설치과정 5/5에서 SSE 오류로 더 이상 진행이 되지 않습니다.
** nginx+php-fpm 으로 진행했을 때는 SSE 오류는 생기지만 설치는 됩니다.
|
답변 1개
채택된 답변
+20 포인트
nginx 전면 프록시 와 아파치 백엔드 구성 자체가 썩~ 좋지는 않다는 생각입니다. (g7 운용 전제)
기존 아파티 환경을 유지하면서 nginx의 프록시/성능 등을 같이 쓰시려는 경우 같으나
해당 구조는 요청이
부라우저 > nginx > 아파치 > php
앞단이 생기면서,
SSE 같은 스트리밍/실시간 응답에서 버퍼링, 푸레쉬 타이밍 문제가 생기는 것으로 보입니다.
실제로 지금 겪으신 것처럼~
실제로 지금 로그에서도
installation_status: running > aborted
흐름이 반복되는데,
이건 작업 자체가 실패했다기보다 SSE 스트림이 중간에 끊기면서 상태 동기화가 깨지는 패턴입니다.
설치는 되는데 SSE 에러 발생
설정을 더 건드리면 오히려 완료 단계에서 멈춤
같은 증상이 나오는 경우인 거죠.
이런 경우는 보통 에플리케션 문제가 아니라
프록시 체인 중간에서 응답이 묶이거나 끊기는 구조적인 문제일 가능성이 큽니다.
특별히 아파치를 유지해야 할 이유가 없다면,
설치 및 SSE 안정성 측면에서
엔지넥스 + PHP-FPM 단일 구조로 가심은 어떨까 싶습니다.
답변을 작성하려면 로그인이 필요합니다.