Proxying uma página do Apache para um aplicativo

1

Eu tenho um aplicativo em execução no localhost:2000 , enquanto meu site está no localhost. Gostaria de apontar o diretório /projects/projectName - > %código%. No entanto, o problema ocorre quando o aplicativo faz solicitações de get / post.

Por exemplo, se uma solicitação GET for feita em localhost:2000 , a solicitação mostrará a URL GET como /run e retornará uma 404. Os dois problemas aqui são:

  1. Ele redireciona para a porta 443; e
  2. a porta 2000 agora é perdida a pedido.

Atualização: tentei desativar o SSL, mas a porta 2000 ainda está perdida sob solicitação. Idealmente, gostaria que isso funcionasse com o SSL.

Esses dois problemas podem ser um e o mesmo, mas não tenho certeza.

Para ver como ele deve funcionar, https://localhost/run é o aplicativo de trabalho. Como você pode ver, as solicitações GET e POST vão para o URL acima + http://stevenshi.me:2000 .

Aqui está o meu arquivo conf atual do apache

<VirtualHost *:80>

    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]

    ServerAdmin [email protected]
    ServerName stevenshi.me
    ServerAlias www.stevenshi.me
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
            ServerAdmin [email protected]
            ServerName stevenshi.me:443
            ServerAlias www.stevenshi.me
            DocumentRoot /var/www/html

            SSLEngine on
            SSLProtocol all -SSLv2
            SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM

            SSLCertificateFile /etc/apache2/ssl/ssl.crt
            SSLCertificateKeyFile /etc/apache2/ssl/private.key
            SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem

            ProxyRequests on
            ProxyPreserveHost on
            <Proxy *>
                    Order deny,allow
                    Allow from localhost
            </Proxy>

            RewriteEngine on
            RewriteRule ^/projects/CS32Brewer/(.*)$ http://localhost:2000/$1 [

            #ProxyPass /projects/CS32Brewer/ http://localhost:2000/
            ProxyPassReverse /projects/CS32Brewer/ http://localhost:2000/

            #ProxyPass /projects/Maps http://locahost:2001
            #ProxyPassReverse /projects/Maps http://localhost:2001

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
</IfModule>
    
por steven200796 24.08.2015 / 01:03

1 resposta

0

Você terá que reescrever usando mod_rewrite ou configurar o aplicativo para criar urls apropriados.

    
por 24.08.2015 / 13:51