Apache | Apache 기본 설정 | 도메인명과 포트 번호 (ServerName, Listen)
Apache의 설정에서 도메인명과 포트 번호 (ServerName, Listen)를 설정하는 방법에 대해 설명한다.
ServerName 지시어(directive) - 도메인 지정
ServerName 지시어(directive)는 Apache 서버가 자신의 도메인명을 나타내는 이름을 지정한다. 예를 들어, Apache가 오류 표시를 할 때, 자신을 나타내는 도메인명도 함께 표시할 때 등에 여기서 설정한 도메인명이 사용된다.
일반적으로 IP 주소에 대해 할당된 도메인명이지만, 따로 이름을 할당하고 그것을 공식 도메인명으로 원하는 경우에 사용한다. “ServerName"가 지정되어 있지 않은 경우는 Apache에 할당된 IP 주소를 역으로 도메인명을 가져온다.
형식은 다음과 같다.
ServerName [스키마://]도메인명|IP 주소[:포트 번호]
“ServerName"의 지정은 보통 “도메인명: 포트 번호"형식으로 지정한다.
그러면 “httpd.conf"파일에서 “ServerName"를 검색해 보면, 다음과 같은 내용을 찾을 수 있을 것이다.
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
기본적으로 앞에 ‘#‘을 있어서 주석처리 되어 있다.
이번에는 Apache를 로컬 환경에서 이동하고 있기 때문에 위와 같이되어 있지만 외부에 공개되는 Web 서버의 경우 예를 들어 “www.example.com"와 같이 지정 될 거라고 생각한다.
ServerName www.example.com:80
포트 번호는 생략할 수 있지만 선택 사항이지만, 생략된 경우는 http 포트 번호를 사용한다. 포트 번호도 지정하는 것을 추천하고 있다.
Listen 지시어(directive) - 요청을 받을 포트 번호 지정
Listen 지시어(directive)는 Apache가 외부에서 요청을 받아들이는 포트 번호를 지정한다. 형식은 다음과 같다.
Listen [IP 주소:] 포트 번호 [프로토콜]
그러면 “httpd.conf"파일에서 “Listen"으로 검색해 보면, 다음과 같은 내용을 찾을 수 있을 것이다.
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
요청을 받는 포트 번호로 80 번이 지정되어 있는 것을 확인할 수 있다.
받을 수 있는 포트 번호는 여러 개를 지정할 수 있는데 Listen 지시어를 여러 개를 작성한다. 아래와 같이 하면 80번 포트와 8080번 포트에서 요청을 받게 된다.
Listen 80
Listen 8080
포트 번호만 지정하게 되면 모든 인터페이스에서 지정한 포트 번호의 요청을 받는데, Apache가 실행되는 서버에 여러 개의 인터페이스가 연결되어 특정 인터페이스에서만 요청을 받기를 원한다면 그 인터페이스의 IP 주소를 지정한다.
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
프로토콜는 포트 번호 443를 사용하는 경우에는 https, 그 외의 포트 번호에는 http가 기본적으로 설정된다. 만약 443 이외의 포트 번호로 받으려면 https를 사용하려면 지정을 해야 한다. 예를 들면, 아래와 같이 지정하면 포트 번호 8443를 사용하면서 프로토콜 https를 사용하게 된다.
Listen 192.170.2.1:8443 https
참조
- https://httpd.apache.org/docs/2.4/mod/core.html#servername
- https://httpd.apache.org/docs/2.4/mod/mpm_common.html#listen