apache2를 구성하는 예제에 적합한 구성 파일은 무엇입니까?

apache2를 구성하는 예제에 적합한 구성 파일은 무엇입니까?

시나리오를 가정해 봅시다.

  • 도메인 이름: xyz.com
  • 타사 DNS 서버에서 확인된 도메인 이름: ns1.xxx.com
  • 도메인 이름 바인딩 IP 주소: 123.123.123.123
  • apache2는 123.123.123.123에 설치되어 있습니다.

내 /etc/httpd/conf/httpd.conf는 다음과 같아야 합니다:

config1:

ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerName 123.123.123.123:80
<VirtualHost *:80>
    ServerName www.xyz.com
    DocumentRoot "/var/www/html"
</VirtualHost>

config2:  

ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerName xyz.com:80
<VirtualHost *:80>
    ServerName www.xyz.com
    DocumentRoot "/var/www/html"
</VirtualHost>

config3:  

ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerName localhost:80
<VirtualHost *:80>
    ServerName www.xyz.com
    DocumentRoot "/var/www/html"
</VirtualHost>

config4:  

ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerName 127.0.0.1:80
<VirtualHost *:80>
    ServerName www.xyz.com
    DocumentRoot "/var/www/html"
</VirtualHost>

내 예에 적합한 구성 파일은 무엇입니까?

답변1

Apache ServerName 지시어와 동일한 기본 기능을 수행합니다.nginx server_name 지시문즉, Host선택한 가상 호스트 구성과 일치하는 경우 수신 HTTP 요청의 매개변수와 비교됩니다. 중요한 것은 웹 서버가 수신 대기 중인 네트워크 인터페이스의 포트나 IP 주소에 대한 요청을 웹 서버가 확인할 수 없는 경우 가상 호스트를 선택하는 데에만 사용된다는 점입니다. 즉, 가상 호스트를 선택하는 데만 사용 됩니다 ServerName. <VirtualHost *:80>가상 호스트/구성으로 명시적으로 확인되지 않습니다.

문서에서

설명: 서버가 자신을 식별하는 데 사용하는 호스트 이름 및 포트입니다.
구문: ServerName [scheme://]domain-name|ip-address[:port]

귀하의 예에 따르면 ServerName 지시문은 다음과 같이 Apache 가상 호스트 구성에서 사용됩니다.

<VirtualHost *:80>
  ServerName xyz.com
  ...
  ...
  # ...
</VirtualHost>

관련 정보