Apache http.conf с подстановочными поддоменами - PullRequest
0 голосов
/ 02 июля 2019

У меня есть веб-приложение с белой меткой, которое работает с поддоменами для разделения меток. Допустим, cust1.app.com и cust2.app.com. У меня есть SSL на моем сайте, но у меня проблемы с перенаправлением сайта с http на https. Я хочу сделать все это в http.conf, в отличие от .htaccess файлов. Вот мой http.conf:

<VirtualHost *:443>

    <Directory /var/www/html/>
        Options -Indexes
        Require all granted
        AllowOverride All
    </Directory>

    ServerAlias *.app.com

    DocumentRoot /var/www/app

    SSLEngine on
    SSLCertificateFile /var/www/certs/cert.pem
    SSLCertificateKeyFile /var/www/certs/privkey.pem
    SSLCertificateChainFile /var/www/certs/fullchain.pem

</VirtualHost>

<VirtualHost *:80>

    ServerAlias *.app.com

    RewriteEngine On 
    RewriteCond %{HTTPS} !=on 
    RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]

</VirtualHost>

При посещении http://www.app.com или http://cust1.app.com я получаю простой ERR_CONNECTION_REFUSED, однако, когда я вручную добавляю https, сайт отлично работает на всех поддоменах.

Как мне перенаправить на https, сохраняя мои поддомены с подстановочными знаками?

1 Ответ

0 голосов
/ 02 июля 2019

Оказывается, я пропустил директиву Listen для порта 80, я, должно быть, удалил ее из ports.conf или что-то в какой-то момент в долгом и захватывающем процессе устранения неполадок.Вот мой http.conf сейчас:

Listen 80
Listen 443

<VirtualHost *:443>

    <Directory /var/www/html/>
        Options -Indexes
        Require all granted
        AllowOverride All
    </Directory>

    ServerAlias *.app.com

    DocumentRoot /var/www/app

    SSLEngine on
    SSLCertificateFile /var/www/certs/cert.pem
    SSLCertificateKeyFile /var/www/certs/privkey.pem
    SSLCertificateChainFile /var/www/certs/fullchain.pem

</VirtualHost>

<VirtualHost *:80>

    ServerAlias *.app.com

    RewriteEngine On 
    RewriteCond %{HTTPS} !=on 
    RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R,L]

</VirtualHost>
...