저의 무지함으로 이런 질문을 드리는 점 양해 부탁드립니다. IP 주소를 하드코딩하는 대신 "공개 주소"를 지정하는 방법을 알아내는 데 오랜 시간이 걸렸습니다.
아파치 매뉴얼에 따르면주소 및 포트 바인딩:
웹 호스팅에서 이것이 작동하는 방식
Listen 지시문은 가상 호스트를 구현하지 않습니다. 단지 주 서버에 수신 대기할 주소와 포트를 알려줄 뿐입니다. 지시문을 사용하지 않으면 서버는 허용된 모든 요청을 동일한 방식으로 처리합니다. 그러나 하나 이상의 주소나 포트에 대해 다른 동작을 지정하는 데 사용할 수 있습니다. VirtualHost를 구현하려면 먼저 사용할 주소와 포트를 수신 대기하도록 서버에 지시해야 합니다. 그런 다음 지정된 주소와 포트에 대한 해당 가상 호스트의 동작을 설정하기 위한 섹션을 만들어야 합니다. 서버가 수신하지 않는 주소와 포트를 설정하면 접속할 수 없으니 주의하세요.
매뉴얼에는 다음 예가 나와 있습니다.
Listen 0.0.0.0:80 Listen 192.0.2.1:80
호스팅 제공업체가 때때로 IP 주소를 변경하기 때문에 IP 주소를 하드코딩하는 것은 문제가 됩니다. 우리는 개입 없이 항상 "작동"할 수 있는 것을 원했습니다. 지난번에 회사가 바뀌었을 때 저는 출장 중이어서 사이트가 일주일 넘게 다운되었습니다.
다음과 같이 몇 가지 추측을 시도했지만 서버를 시작하지 못했습니다.
Listen ${PUBLIC_IP}:80
"공개 주소"를 지정하는 변수 이름은 무엇입니까?
답변1
나는 그러한 변수가 존재한다고 생각하지 않지만 하나가 필요하지 않습니다. 모든 인터페이스에서 포트 80을 수신하도록 Apache에 지시하십시오.
Listen 80
IP 주소가 여러 개 있고 Apache가 하위 집합만 수신하도록 원하지 않는 한, 제대로 작동하고 IP 주소 변경에 적응합니다.