프로그램 사용/nginx2019. 5. 31. 16:51

솔찍히 잘 모르겠네

location 안에 넣으라는데 안되는거 같기도 하고..

try_files $uri $uri/ /index.html;

[링크 : https://wkdtjsgur100.github.io/react-router-deploy/]

 

+

이상한 짓이 되는 느낌인데

react나 angular.js 에서 링크로 되는 부분을 아래처럼 reverse proxy를 통해 돌려주면 되긴 한다.

좀 깔끔하게.. 여러가지 경로에 대해서 보내는 법을 찾아야 할 듯 한데.. 어떻게 해야 하려나?

proxy_pass http://127.0.0.1:4200/index.html?link;

 

+

변수가 있는데 영 안되네.. 후...

[링크 : http://nginx.org/en/docs/http/ngx_http_core_module.html]

[링크 : https://ohgyun.com/622]

 

+

2019.10.11

$args 로 하위 url을 넘겨 줄수 있는 것으로 보임

[링크 : https://www.serverlab.ca/tutorials/linux/web-servers-linux/how-to-configure-nginx-for-angular-and-reactjs/]

Posted by 구차니
프로그램 사용/nginx2019. 4. 3. 14:15

ckeditor에 파일을 올리는데 localhost에서는 잘만 올라가는 놈인데

회사 서버에만 하면 안되서 리눅스 버전이 문제인가 고민을 했지만..

/uploader:1 Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)

일단은 node.js 쪽 설정은 기본으로도 충분히 잘 올라가는 상황이라 아래 내용은 별 의미없어 보이고

혹시나 리눅스용은 먼가 다른가 해서 했지만 안올라가는건 여전한 상황 -_-

[링크 : https://stackoverflow.com/questions/19917401/error-request-entity-too-large]

[링크 : http://meonggae.blogspot.com/2016/11/http-response-code-413.html]

 

 

검색을 하다보니 갑자기 반짝하는 키워드.. 아...

nginx에서 reverse proxy로 쓰고 있었는데 nginx에서도 body 크기가 제한되는데 이걸 풀어줘야 정상작동 한다.

http {
    client_max_body_size 5M;

}

[링크 : https://github.com/expressjs/body-parser/issues/235]

'프로그램 사용 > nginx' 카테고리의 다른 글

(angluar/react) router와 nginx  (0) 2019.05.31
nginx 502 bad gateway와 audit  (0) 2019.03.20
nginx rever proxy with virtual host(+ subdomain)  (0) 2019.03.07
nginx load balance  (0) 2019.03.05
nginx reverse proxy  (2) 2018.10.30
Posted by 구차니
프로그램 사용/nginx2019. 3. 20. 09:39

하라는데로 하니 되긴 한데

결론은.. selinux와 쌍벽을 이룰 끝판왕의 도래인가?



대개는 403에러에 대해서 나오는데 운이 좋게 쉽게 검색한듯..

일단 audit.log를 보는데 먼 소리인지 모르겠다 -ㅁ-

nginx가 http를 돌리기 위해서 tcp_socket을 쓰려는데 아무래도 3000번으로 80번으로 돌리려고 하다 보니 

well known이거나 1024번 이하 포트라서 audit에 의해 걸러지고 있었을 지도?


# cat /var/log/audit/audit.log | grep nginx | grep denied

type=AVC msg=audit(1553041491.494:21600): avc:  denied  { name_connect } for  pid=17240 comm="nginx" dest=3000 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:ntop_port_t:s0 tclass=tcp_socket permissive=0


# cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M swnginx

******************** IMPORTANT ***********************

To make this policy package active, execute:


semodule -i swnginx.pp


# semodule -i swnginx.pp

 


[링크 : https://crystalcube.co.kr/181]

Posted by 구차니
프로그램 사용/nginx2019. 3. 7. 14:27

일단 프록시 설정이 먼가 잘못되었나 싶어서 고민했는데

알고보니.. 망할 포트를 잘못 설정해서 502 bad gateway 뿜뿜..

결론은.. 머.. 잘 돌아가는 것으로 보인다?


// 홈페이지 1

    server {

        listen       80;

        server_name domain.co.kr www.domain.co.kr;

        location / {

                proxy_pass http://localhost:20000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    }


// 홈페이지 2, 특정 하위 주소에 다른 서비스를 연결함

    server {

        listen       80;

        server_name domain2.co.kr www.domain2.co.kr;

        location / {

                proxy_pass http://localhost:30000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }


        location /sub1 {

                proxy_pass http://localhost:40000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    }


// 다른 서비스로 연결되는 녀석을 서브 도메인으로 연결

    server {

        listen       80;

        server_name sub1.domain2.co.kr;

        location / {

                proxy_pass http://localhost:40000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    } 


// 홈페이지 3, 서비스를 서브 도메인으로도 연결

    server {

        listen       80;

        server_name sub2.domain2.co.kr;

        location / {

                proxy_pass http://localhost:50000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    }


'프로그램 사용 > nginx' 카테고리의 다른 글

nginx 리버스 프록시 와 ckeidtor upload 413 에러  (0) 2019.04.03
nginx 502 bad gateway와 audit  (0) 2019.03.20
nginx load balance  (0) 2019.03.05
nginx reverse proxy  (2) 2018.10.30
nginx fastcgi 캐싱  (0) 2015.09.10
Posted by 구차니
프로그램 사용/nginx2019. 3. 5. 10:46

설정이 되어있는걸 보는데...

reverse proxy 용도가 아니라 load balance 용도로 설정을 해둔거였나...


[링크 : https://www.lesstif.com/pages/viewpage.action?pageId=35357063]

[링크 : http://nginx.org/en/docs/http/ngx_http_upstream_module.html]

Posted by 구차니
프로그램 사용/nginx2018. 10. 30. 18:51

nginx를 이용해서 http proxy로 사용하는 방법


다른서버 있어서 80은 못쓰고

81번으로 셋팅했고

/test1/ 은 nginx 서버와 동일한 ip의 3001번 포트로 포워딩

/test2/ 는 nginx 서버와 동일한 ip의 3002번 포트로 포워딩 해서 작동한다.


단, node.js나 angular의 경우 상대경로와 절대경로를 조심해서 작성해야 정상적으로 작동하게 된다.

(angular는 안써서 모르겠지만 deploy 시 경로를 잘 지정해야 할지도?)

[링크 : https://itnext.io/angular-cli-proxy-configuration-4311acec9d6f]


의외로 끝에 오는 / 의 역활이 지대하다

    server {

        listen       81 default_server;

        listen       [::]:81 default_server;

        server_name  _;

        root         /usr/share/nginx/html;


        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;


        location / {

        }


        error_page 404 /404.html;

            location = /40x.html {

        }


        error_page 500 502 503 504 /50x.html;

            location = /50x.html {

        }


        location /test1/ {

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

                proxy_pass http://localhost:3001/;

        }


        location /test2/ {

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

                Host proxy_set_header $ HTTP_HOST;

                proxy_pass http://localhost:3002/;

        }

    }

 


[링크 : http://www.codingpedia.org/...-in-production-to-serve-angular-app-and-reverse-proxy-nodejs]

[링크 : https://www.joinc.co.kr/w/man/12/proxy]

[링크 : https://gist.github.com/soheilhy/8b94347ff8336d971ad0]

Posted by 구차니
프로그램 사용/nginx2015. 9. 10. 16:26

혹시나 해서 찾아 봤더니 ㄷㄷㄷ

그나저나...

nginx는 프로그램 자체에서 지원하고..

php의 경우 fpm-php에서 fastcgi에 대해서 캐싱을 지원한다고 한다.



[링크 : https://www.digitalocean.com/.../how-to-setup-fastcgi-caching-with-nginx-on-your-vps]

[링크 : http://websetnet.com/ko/how-to-configure-nginx-fastcgi-cache/]

Posted by 구차니