peter_lim
598
2021-01-22 15:26:06
1
142

CentOS Apache nodejs


제목대로 CentOS apache서버에 nodejs express 기반 웹을  도메인 등록하고 SSL인증서 신청해서 적용까지 만들어봤는데요.

CentOs apache에(/etc/httpd/conf.d) ssl.conf에는 VirtualHost :* 443 에 프록시까지 설정하고 ,vhost.conf에는 80포트 허용하지만 리다이렉트로 https 로 넘어가도록 설정했는데  현재 등록인 도메인은 Apache proxy를 사용해서 3000포트를 쓰고있습니다.

앞으로 버추얼 호스트로 서브도메인을 추가하면서 다른 Apache proxy들을 다른포트로 연결을 할텐데.

서비스 구축시 foreverjs로 설정해서 서비스에 쓰게된다면(node 시작 명령없이 계속 켜두는 모듈)

나중에 포트충돌이 없도록 VirtualHost에 설정해두어도

소켓연결시에는 전체적으로 합산되어 서버에 부하가 가는지 궁금합니다.(서버 ip address :port 니까?)

만약

www.testone.com:3000 에 소켓연결이 10개 (도메인명 testone.com아래로 프록시주소는 http://localhost:3000, 웹소켓은 ws://localhost:3000 )

www.testtwo.com:3001 에 소켓연결이 5개 됐다면 (도메인명 아래로 프록시주소는 http://localhost:3001, 웹소켓은 ws://localhost:3001 )

아파치 서버는 소켓연결 15개를 부담하게 되는걸까요?

----------vhost.conf----------------------------------

<VirtualHost *:80>

   ServerName testone.com

   ServerAlias www.testone.com

   DocumentRoot /var/www/html


## Apache Proxy로 80 PORT 사용할경우 적용

#    ProxyRequests Off

#    ProxyPreserveHost On

#    ProxyPass /  http://localhost:3000/

#    ProxyPassReverse  / http://localhost:3000/



## HTTPS 리다이렉트

   Redirect / https://www.testone.com

</VirtualHost>

---------ssl.conf-------------------------------------

<VirtualHost *:443>

   ServerName testone.com

   ServerAlias www.testone.com

   DocumentRoot /var/www/html


    ErrorLog "logs/ssl_www.testone.com-error_log"

    TransferLog "logs/ssl_www.testone.com-access_log"

    LogLevel warn


## Apache Proxy 사용

    ProxyRequests Off

    ProxyPreserveHost On

    ProxyPass /  http://localhost:3000/

    ProxyPassReverse  / http://localhost:3000/


SSLEngine on

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW


SSLCertificateFile "/etc/httpd/SSL_2021/www.testone.com/www.testone.com.crt"

SSLCertificateKeyFile "/etc/httpd/SSL_2021/www.testone.com/www.testone.com.key"

SSLCACertificateFile "/etc/httpd/SSL_2021/www.testone.com/GLOBALSIGN_ROOT_CA.crt"

SSLCertificateChainFile "/etc/httpd/SSL_2021/www.testone.com/ALPHASSL_CA__SHA256__G2.crt"


RewriteEngine on

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]

RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]

RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]


<Files ~ "\.(cgi|shtml|phtml|php3?|php?)$">

    SSLOptions +StdEnvVars

</Files>

<Directory "/var/www/cgi-bin">

    SSLOptions +StdEnvVars

</Directory>

..

..

..

---------------------------------------------------
0
  • 답변 1

  • 쿠잉
    1k
    2021-01-22 16:17:53 작성 2021-01-22 16:18:12 수정됨

    apache 와 nodejs 간에 계속 연결 되고 잇지 않을것임으로 큰 상관은 없을것 같습니다 

    향후 동시접속자가 폭팔적으로 늘어나서 프론트 아파치와 백엔드 node간에 부하가 늘어간다면 백엔드node를 별도의 서버로 다중화 분리하는 방법은 나중에 고려하셔도 될것 같습니다



  • 로그인을 하시면 답변을 등록할 수 있습니다.