Você terá que reescrever usando mod_rewrite ou configurar o aplicativo para criar urls apropriados.
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:
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>
Você terá que reescrever usando mod_rewrite ou configurar o aplicativo para criar urls apropriados.
Tags proxy apache-2.2