developer tip

와일드 카드 하위 도메인 및 정적 하위 도메인 용 가상 호스트

optionbox 2020. 11. 10. 08:03
반응형

와일드 카드 하위 도메인 및 정적 하위 도메인 용 가상 호스트


나는 URL을 갖고 싶어 이상한 상황이 app1.example.com, example.com그리고 *.example.com모든 다른 가상 호스트를 사용. 이것은 내가 가진 것입니다 ( example.com더 지저분 해지 기 때문에 제외 ).

<VirtualHost *>
  ServerName app1.example.com
  ServerAlias app1.example.com

  DocumentRoot = /var/www/app1
  # Other configuration for this app here

</VirtualHost>

<VirtualHost *>
  ServerName wildcard.example.com
  ServerAlias *.example.com

  DocumentRoot = /var/www/wildcard
  # other configuration for this app here

</VirtualHost>

문제는 그들이 충돌한다는 것입니다. 먼저 나열된 것이 승리합니다. 와일드 카드 가상 호스트와 특정 가상 호스트를 모두 호스팅하려면 어떻게해야합니까?

참고 : DocumentRoot구성 만 변경하는 것이 아니므로 mod_rewriteDocumentRoot 변수를 변경하는 데 사용 하면 문제가 해결되지 않습니다.


<VirtualHost *:80>
  DocumentRoot /var/www/app1
  ServerName app1.example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/example
  ServerName example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/wildcard
  ServerName other.example.com
  ServerAlias *.example.com
</VirtualHost>

작동해야합니다. 명시적인 일치를 얻지 못하면 첫 번째 항목이 기본값이됩니다. 따라서 app.otherexample.com이이를 가리키면 app1.example.com이 잡힐 것입니다.


와일드 카드는 ServerName이 아닌 ServerAlias에서만 사용할 수 있습니다. 나를 당황하게 만든 것.

사용 사례의 경우 다음으로 충분합니다.

<VirtualHost *:80>
    ServerAlias *.example.com
    VirtualDocumentRoot /var/www/%1/
</VirtualHost>

https://www.chris-shaw.com/blog/using-wildcards-in-virtual-hosts-on-apache 에서 자세한 정보도 확인할 수 있습니다.


이것은 또한 프로젝트 디렉토리를 만드는 솔루션이 필요한 https에서도 작동합니다. 크롬은 더 이상 무료 SSL을 사용하는 비 SSL을 좋아하지 않기 때문입니다. 알림 : 내 웹 서버는 Windows 10에서 Wamp64이므로 wamp를 사용하지 않는 한 변수 때문에이 구성을 사용하지 않습니다.

<VirtualHost *:443>
ServerAdmin test@test.com
ServerName test.com
ServerAlias *.test.com

SSLEngine On
SSLCertificateFile "conf/key/certificatecom.crt"
SSLCertificateKeyFile "conf/key/privatecom.key"

VirtualDocumentRoot "${INSTALL_DIR}/www/subdomains/%1/"

DocumentRoot "${INSTALL_DIR}/www/subdomains"
<Directory "${INSTALL_DIR}/www/subdomains/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>

참고 URL : https://stackoverflow.com/questions/758351/virtualhost-for-wildcard-subdomain-and-static-subdomain

반응형