포트 80/443에서 직접 웹 애플리케이션 서버를 실행하는 것은 나쁜 습관입니까?


8

EC2 인스턴스를 사용하여 amazon aws 에서 웹 앱을 호스팅하고 있습니다.

해당 인스턴스에서 하나의 응용 프로그램 만 실행 합니다. 사용 글래스 피쉬 V3.0.1을

다음을 사용하여 앱을 실행하고 싶지 않습니다.

www.mydomain.com:8080 or www.mydomain.com:8181 

나는 단지 사용하고 싶다 :

www.mydomain.com or https://www.mydomain.com

그래서 glassfish 의 http-listener-1http-listener-2 를 포트 (각각) 80443 에서 실행하도록 변경했습니다 .

이것이 나쁜 습관으로 간주됩니까? 저는 소프트웨어 엔지니어이며 일반적으로 서버 관리자를 다루지 않으므로 그러한 일에 너무 경험이 없습니다.

안내해 주셔서 감사합니다.


웹 응용 프로그램 서비스를 포트 80 또는 443에 직접 바인딩하지 마십시오. 이렇게하면 공용 서비스를 (으)로 실행 root하는 것이 좋습니다. 이는 결코 좋은 생각이 아닙니다.
Skyhawk

답변:


13

그렇게 할 수 는 있지만 먼저 성능 문제가 발생하고 보안 문제가 발생합니다.

포트 80/443에서 "일반"고성능 웹 서버에 응답하고 앱 서버에 대한 요청을 프록시 처리하는 것이 일반적으로 수행되는 방식입니다. "일반"서버는 정적 이미지, JavaScript 및 CSS와 같은 것을 GlassFish보다 훨씬 쉽게 처리하여 성능을 향상시킬 수 있습니다. 또한 액세스 제어, 캐싱 등을위한 수많은 옵션이 있습니다.

인터넷은 GlassFish, Jetty, Tomcat 또는 사용하려는 앱 서버 앞에 웹 서버 (예 : nginx 또는 Apache)를 설정하기위한 샘플 구성으로 가득합니다. 어떤 EC2 AMI를 사용 하느냐에 따라 이러한 웹 서버 중 하나가 이미 사전 구성되어 준비가되어있을 수 있습니다.


3
전용 정문의 장점을 밝히는 +1 추가 : 롤링 업그레이드,로드 밸런싱, 특히 AWS의 모든 완구 제품군 : Elastic Load Balancer, Elastic Beanstalk, CloudFront 등
khoxsey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.