최근에 테스트 도메인의 모든 하위 도메인 (예 : example.com)을 localhost로 지정하고 싶었습니다. * .example.com의 모든 요청을 127.0.0.1로 해결하도록 지시하는 방법이 있습니까?
답변:
/etc/hosts
파일이 와일드 카드 항목을 지원하지 않는 경우가 발생 합니다.
dnsmasq와 같은 다른 서비스를 사용해야합니다. dnsmasq에서 활성화하려면 dnsmasq.conf
다음 행을 편집 하고 추가하십시오.
address=/example.com/127.0.0.1
dnsmasq
설정은 이것을 참조하십시오 .
다음은 원래 목표를 달성하려는 사용자를위한 구성입니다 (모두 동일한 코드베이스를 가리키는 와일드 카드-아무것도 설치하지 않음, 개발 환경, 즉 XAMPP).
파일 : / etc / hosts (비 Windows)
127.0.0.1 example.local
파일 : /XAMPP/etc/httpd.conf
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
파일 : XAMPP / etc / extra / httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin admin@example.local
DocumentRoot "/path_to_XAMPP/htdocs"
ServerName example.local
ServerAlias *.example.local
# SetEnv APP_ENVIRONMENT development
# ErrorLog "logs/example.local-error_log"
# CustomLog "logs/example.local-access_log" common
</VirtualHost>
아파치를 다시 시작
원하는 위치에 whatever.pac으로 저장 한 다음 브라우저의 네트워크> 프록시> auto_configuration 설정에서 파일을로드합니다 (변경하는 경우 다시로드).
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*example.local")) {
return "PROXY example.local";
}
return "DIRECT";
}
dnsmasq 사용
데비안 기반 dist (ubuntu, mint ..)를 사용하는 것처럼 가장하여 설치되었는지 확인하십시오.
(sudo) systemctl status dnsmasq
비활성화 된 경우 다음으로 시작하십시오.
(sudo) systemctl start dnsmasq
설치해야하는 경우 다음과 같이 작성하십시오.
(sudo) apt-get install dnsmasq
다음 /etc/dnsmasq.conf
과 같이 편집을 해결할 도메인을 정의하려면
address=/example.com/127.0.0.1
* .example.com 해결
! 변경 사항을 적용하려면 dnsmasq를 다시로드해야합니다!
systemctl reload dnsmasq