Proxy de uma página Apache para um aplicativo

Proxy de uma página Apache para um aplicativo

Tenho um aplicativo em execução localhost:2000enquanto meu site está no host local. Gostaria de apontar o diretório /projects/projectName-> localhost:2000. No entanto, o problema surge quando o aplicativo faz solicitações de obtenção/postagem.

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

  1. Redireciona para a porta 443; e
  2. a porta 2000 agora foi perdida mediante solicitação.

Atualização: tentei desligar o SSL, mas a porta 2000 ainda foi perdida mediante solicitação. Idealmente, gostaria que isso funcionasse com SSL.

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

Para ver como deve funcionar, http://stevenshi.me:2000é o aplicativo funcional. Como você pode ver, as solicitações GET e POST vão para o url + /foo.

Aqui está 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>

Responder1

Você terá que reescrever usando mod_rewrite ou configurar o aplicativo para criar URLs adequados.

informação relacionada