Pesquisei no Google e não tive muito sucesso em encontrar uma resposta. Estou executando um servidor no Ubuntu e tenho programas instalados que usam várias portas não padrão. Cada um usa uma porta diferente, no meu caso são 9090, 9091, 9092, 9093 e 9094. Configurei um servidor apache e tenho um nome de domínio que agora pode chegar ao meu servidor em vez de digitar meu endereço IP. O que estou procurando é uma maneira de criar diretórios que possam apontar para as diferentes portas listadas. Eu quero algo como:
https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3
Algumas portas são sobre SSL, outras não, apenas as coloquei em ordem (9090-9094) para facilitar o uso da minha parte. Gostaria que o / app1 aponte para a porta SSL 9090, / app2 para aponte para a porta SSL 9091 e / app3 aponte para a porta não SSL 9092. Existe uma maneira simples de fazer isso? Eu tentei adicionar o ProxyPass e similares com base em outras postagens, mas nada funcionou. Preciso adicionar um novo site?
Além disso, se isso envolver a edição de arquivos, o que espero, será muito apreciado se você puder listar o local padrão do arquivo e onde adicionar coisas. Eu continuava vendo postagens dizendo para adicionar ProxyPass, então eu apenas assumi que ele estava dentro do VirtualHost, mas não tinha certeza. Basicamente, eu sei muito pouco sobre a configuração do servidor web e preciso ser tratado como tal.
Peço desculpas por qualquer tag incorreta e agradecemos o tempo que você levou para ler a postagem e qualquer ajuda que você possa fornecer.
EDIT: Para esclarecimento, os aplicativos já estão acessíveis através de https://www.mydomain.com:9090
etc. Gostaria apenas de usar uma maneira https://www.mydomain.com/appName
de chegar ao mesmo local / página publicada por esses aplicativos.
EDIT 2: Em / etc / apache2 / sites-available / default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /app1 https://localhost:9090/
ProxyPassReverse /app1 https://localhost:9090/
</VirtualHost>
fonte
<VirtualHost 10.0.0.1:80 > ServerName server.domain.com DocumentRoot /usr/local/apache/htdocs </VirtualHost>
Respostas:
Verifique se os seguintes módulos apache estão instalados e carregados:
Você pode verificar executando o seguinte comando como root (assumindo que o httpd esteja em seu $ PATH)
httpd -t -D DUMP_MODULES
Depois, tente alterar sua configuração para o seguinte:
O proxy agora deve funcionar se você visitar
http://localhost/app1
ouhttp://mydomain.com/app1
assumir que mydomain.com aponta para localhost.fonte
ProxyRequests Off <Proxy *> Order deny,allow Deny from all Allow from 127.0.0.1 </Proxy> SSLProxyEngine on ProxyPass /app1 https://localhost:9090 ProxyPassReverse /app1 https://localhost:9090
?ProxyPass /app1/ https://localhost:9090/
e o mesmo para ProxyPassReverse, se usado. E em segundo lugar, adicione o redirecionamento RewriteRule:RewriteRule ^/app1$ /app1/ [R]
como / app1 não seria usado como proxy.