Subdomínios do Apache2 www https proxypass

1

Eu tenho uma configuração bastante complicada. Pelo menos para mim, desde que eu sou novo no apache, mod_rewrite e todas essas coisas.

O que eu quero é isso:

  • remover todos os prefixos www
  • redireciona todos os subdomínios para https e, portanto, exclui o próprio domínio (foo.bar.com, mas não bar.com)
  • intermediando todas as solicitações para subdomínios para a porta 8089 do domínio

Então, eu escrevi um código que funciona principalmente, exceto pelo www.foo.bar.com. Agora estou trabalhando em um novo.

O problema é que não sei em que ordem as coisas funcionariam corretamente. Devo colocar se livrar do primeiro www? Ou devo configurar o proxy no topo?

Aqui está o meu novo arquivo até agora.

Espero que alguém possa ajudar a limpar as coisas.

# welcome page
<VirtualHost *:80>
    ServerName bar.com
    DocumentRoot /var/www/bar
</VirtualHost>

# ssl and proxy for subdomains
<VirtualHost *:443>
    ServerName foo.bar.com
    ServerAlias *.bar.com

    SSLEngine On
    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key

    ProxyRequests Off
    ProxyPass / http://bar.com:8089/
    ProxyPassReverse / http://bar.com:8089/

    ProxyVia On
</VirtualHost>

<VirtualHost *:80 *:443>
    ServerName bar.com
    ServerAlias *.bar.com

    # remove www
    RewriteEngine On
    RewriteCond %{HTTP_HOST}    ^www\.(.+)              [NC]
    RewriteRule ^               http://%1%{REQUEST_URI} [R=301]

    # redirect https://bar.com -> http://bar.com
    RewriteCond %{HTTPS}        on
    RewriteCond %{HTTP_HOST}    ^bar.com$                    [NC]
    RewriteRule ^               http://bar.com%{REQUEST_URI} [L,R=301]

    # redirect http -> https
    RewriteCond %{HTTPS}        off
    RewriteRule (.*)            https://%{HTTP_HOST}%{REQUEST_URI}  [R=301]

    ErrorLog /var/log/foo/foo-error.log
    CustomLog /var/log/foo/foo-access.log combined
    LogLevel warn

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
</VirtualHost>


################
# restrictions #
################

<Location /web/database>
    Order deny,allow
    Deny from all
    Allow from 1.2.3.4
</Location>
    
por Yann 09.02.2015 / 11:54

0 respostas