Рейтинг:0

Два приложения на apache2 subdomain.example.com и example.com

флаг ng

Я хотел бы получить рабочую конфигурацию apache2 с помощью http://openproject.example.com и httpс://example.com (блог WordPress).

Моя конфигурация:

/etc/apache2/sites-enabled/wordpress.conf

<VirtualHost *:80>
        ServerAdmin admin@HOSTNAME_HERE.com
        DocumentRoot /var/www/HOSTNAME_HERE/wordpress/
        Redirect / https://HOSTNAME_HERE.com/
        <Directory /var/www/HOSTNAME_HERE/wordpress/>
                Options +FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

/etc/apache2/conf-enabled/wordpress.conf

Псевдоним /wordpress /var/www/HOSTNAME_HERE/wordpress
<Каталог /var/www/HOSTNAME_HERE/wordpress>
    Параметры
    DirectoryIndex index.php
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            Приложение AddType/x-httpd-php .php
        </ЕслиМодуль>
        <FilesMatch ".+\.php$">
            Приложение SetHandler/x-httpd-php
        </FilesMatch>
    </ЕслиМодуль>
</Каталог>
<Каталог /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            Основной тип авторизации
        </ЕслиМодуль>
        Требовать действительного пользователя
    </ЕслиМодуль>
</Каталог>
<Каталог /usr/share/phpmyadmin/libraries>
    Требовать все отказано
</Каталог>
<Каталог /usr/share/phpmyadmin/setup/lib>
    Требовать все отказано
</Каталог>

доступен с SSL через

/etc/apache2/sites-enabled/default-ssl.conf

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin admin@HOSTNAME_HERE.com
                ServerName ip.address.of.hostname
                DocumentRoot /var/www/HOSTNAME_HERE/wordpress/
                <Directory /var/www/HOSTNAME_HERE/wordpress/>
                     Options +FollowSymLinks
                     AllowOverride All
                     Order allow,deny
                     allow from all
                </Directory>
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLProtocol         all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
                SSLCipherSuite      ECDHE-ECDSA-AES256-GCM-SHA384...
                SSLHonorCipherOrder on
                SSLCompression      off
                SSLSessionTickets   off
                SSLCertificateFile      /etc/apache2/ssl/certificate.crt
                SSLCertificateKeyFile /etc/apache2/ssl/pkey.key
                SSLCertificateChainFile /etc/apache2/ssl/chain-ca.crt
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>

/etc/apache2/sites-enabled/openproject.conf

<VirtualHost *:80>
  ServerName openproject.example.com
  DocumentRoot /opt/openproject/public

  ProxyRequests off

  Include /etc/openproject/addons/apache2/includes/vhost/*.conf

  # Can't use Location block since it would overshadow all the other proxypass directives on CentOS
  ProxyPass / http://127.0.0.1:6000/ retry=0
  ProxyPassReverse / http://127.0.0.1:6000/
</VirtualHost>

/etc/openproject/addons/apache2/includes/vhost/openproject.conf

имя_сервера openproject.example.com
перенаправление постоянное / http://example.com/

имя_сервера openproject.example.com
Администратор сервера [email protected]
DocumentRoot /opt/openproject/public

ProxyRequests отключены
ProxyPass / http://127.0.0.1:6000/ повтор = 0
ПроксиПассРеверс / http://127.0.0.1:6000/


<LocationMatch "^/sys">
  <IfModule mod_authz_core.c>
          Требовать местные
  </ЕслиМодуль>

  <IfModule !mod_authz_core.c>
    Порядок Запретить, Разрешить
    Запретить от всех
    Разрешить с 127.0.0.1
  </ЕслиМодуль>
</LocationMatch>

Псевдоним /assets/opt/openproject/public/assets
Псевдоним /uploads /opt/openproject/public/uploads
<Каталог "/opt/openproject/public">
Параметры - Индексы
<IfModule mod_authz_core.c>
  Требовать все предоставленные
</ЕслиМодуль>

<IfModule !mod_authz_core.c>
  Отклонить заказ, разрешить
  Разрешить от всех
</ЕслиМодуль>
</Каталог>

 ПроксиПасс /активы/ !
 <Местоположение /активы/>
 Размер FileETag
 ExpiresActive On ExpiresDefault «доступ плюс 1 год»
 </местоположение>

 <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
  ExpiresActive On
  ExpiresDefault "доступ плюс 1 год"
</FilesMatch>

AddOutputFilterByType DEFLATE text/html text/css application/x-javascript application/javascript

Журнал ошибок /var/log/apache2/openproject.example.com-error.log

Когда я иду в https://example.com все работает как положено.

Когда я иду в http://openproject.example.com все работает как положено.

К сожалению http://example.com показывает приложение openproject и все другие поддомены, такие как http://notexisting.example.com

Правило для http://example.com должен быть перенаправлен на https://example.com

Как настроить его как положено?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.