하위 도메인의 로컬 호스트에서 Apache 서비스 제공

하위 도메인의 로컬 호스트에서 Apache 서비스 제공

Apache를 사용하여 동시에 여러 사이트를 서비스하려고 하는데, 내가 얻고 싶은 구조는 기본 사이트로 구성되어 있으며 example.com하위 도메인을 사용 radarr.example.com하고 sonarr.example.comRadarr 및 Sonarr 서버에 액세스합니다.

주요 사이트는 다음에서 호스팅됩니다.기계1, Apache와 certbot을 사용하여 가상 호스트를 설정했습니다.

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerName example.com
  
  WSGIDaemonProcess sflasksite user=www-data group=www-data threads=5
  WSGIScriptAlias / /var/www/webapp/app.wsgi

  <Directory /var/www/webapp>
    WSGIProcessGroup sflasksite
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Require all granted
  </Directory>

  Alias /static /var/www/webapp/static

  <Directory /var/www/webapp/static/>
    Order deny,allow
    Require all granted
  </Directory>

  ErrorLog /var/www/webapp/logs/error.log
  CustomLog /var/www/webapp/logs/access.log combined


SSLCertificateFile /etc/letsencrypt/live/example.com-0002/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com-0002/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

내가 서비스하려는 두 개의 서버가기계 2, 같은 네트워크에 있는기계1radarr.example.com, 및 에서 각각 두 서비스를 얻으려면 어떻게 해야 합니까 sonarr.example.com?

좀 읽은 후, 나는역방향 프록시, 각 서비스에 대한 가상 호스트를 다음과 같이 구성합니다.

<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyRequests Off
  
  ServerAlias radarr.example.com

  ProxyPass / http://192.168.1.20:7878/
  ProxyPassReverse / http://192.168.1.20:7878/

  ErrorLog /var/www/radarr/logs/error.log
  CustomLog /var/www/radarr/logs/access.log combined
</VirtualHost>

Sonarr도 마찬가지입니다.

그런데 로 이동하면 radarr.example.com예상한 서비스가 나오지 않고 기본 사이트만 나옵니다.

역방향 프록시가 작동하도록 하려면 어떻게 해야 합니까? 아니면 완전히 다른 전략으로 전환해야 합니까?

편집: 누군가가 이 작업을 수행하는 더 간단한 방법을 알고 제안할 수 있다면 아파치를 포기할 수도 있습니다.

답변1

내가 겪고 있는 문제는 내가 도메인 mydomain.com에만 SSL 인증서를 설치하고 도메인 Radar.mydomain.com에는 설치하지 않았기 때문에 발생했다는 사실을 알게 되었습니다. 해당 도메인에 대해 certbot을 다시 실행했는데 이제 작동합니다.

왜 작동하는지 정확히 모르겠습니다. 누군가 설명이 있으면 게시해 주시면 답변에 추가하겠습니다.

관련 정보