
example.com
도메인 이름 과 고정 IP 주소를 사용하는 VPS가 있습니다 123.123.123.123
.
웹사이트 콘텐츠에 액세스하기 위해 브라우저가 도메인 이름을 제공하기를 원합니다.
사실 나는 브라우저의 URL 표시줄에 내 사이트 exemple.com
를 표시한 경우에만 사람들이 내 사이트를 볼 수 있기를 원합니다.123.123.123.123
그래서 내 /var/www/
디렉터리 내에 두 개의 하위 디렉터리를 만들었습니다.
/var/www/default
(DN을 제공하지 않은 사람이 볼 수 있는 내용) 및/var/www/exemple
실제 웹사이트 콘텐츠. 파일을 이렇게 편집했습니다
./etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
DocumentRoot /var/www/default
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/exemple
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
제 생각에는 이것이 효과가 있을 것 같습니다. 실제로 브라우저의 URL 표시줄에 와 를 /var/www/default
넣으면 서버가 나에게 콘텐츠를 제공합니다. 왜?123.123.123.123
exemple.com
답변1
Apache는 트래픽을 다음으로 전달합니다.첫 번째VirtualHost
구성에 표시된 것과 일치합니다. 정의된 첫 번째 항목에는 가 없거나 정의되어 있지 않기 때문에 ServerName
바인딩 ServerAlias
된 호스트 이름이나 바인딩된 IP 주소에 대해 포트 80의 모든 트래픽을 캡처하도록 구성됩니다.
답변2
example.com 전용 VirtualHost의 이름을 잊어버렸습니다. 내 수정 사항(및 몇 가지 추가 제안 사항)은 다음과 같습니다.
<VirtualHost *:80>
DocumentRoot /var/www/default
</VirtualHost>
<VirtualHost 123.123.123.123:80> # <= Should fix your issue
ServerName example.com
ServerAlias www.example.com # <= Suggested modification
ServerAdmin webmaster@localhost
DocumentRoot /var/www/exemple
ErrorLog ${APACHE_LOG_DIR}/error-example.log # <= Suggested modification
CustomLog ${APACHE_LOG_DIR}/access-example.log combined # <= Suggested modification
</VirtualHost>
물론 Apache를 다시 로드하는 것을 잊지 마십시오.