00 - Apresentacao - Apache
00 - Apresentacao - Apache
00 - Apresentacao - Apache
Linux LPI 101/102 - Certificação Linux LPI - Nível 1 Exames 101 e 102
Linux LPI 201/202 - Certificação Linux LPI - Nível 2 Exames 201 e 202
RHCSA Red Hat Certified System Administrator - Virtual Training Company - VTC
● Experiencia Profissional
DEDIC GPTI - Técnico de Service Desk
Criação e configuração de hosts virtuais em seu servidor Apache por DNS, precisa ter entradas DNS válidas
apontando para o site a ser criado. Você deve ter os nomes no DNS resolvendo para o seu endereço IP , ou
ninguém será capaz de acessar o seu web site. Você pode colocar as entradas no seu arquivo hosts para o teste
local, mas isso só funcionará a partir da máquina com as entradas dos hosts.
● Virtual Host Exemplo
Listen vhost1.linuxcorp.br:1027 https
<VirtualHost 192.168.249.167:1027>
ServerName vhost1.linuxcorp.br:1027
ServerAlias vhost1.linuxcorp.br 192.168.249.167
ServerAdmin [email protected]
DocumentRoot /var/www/vhost1
DirectoryIndex info.php index.html
ErrorLog /var/log/httpd/vhost1.linuxcorp.br-error.log
CustomLog /var/log/httpd/vhost1.linuxcorp.br-access.log common
SSLEngine On
SSLProtocol All -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
<Location />
Require all denied
Require ip 127.0.0.1
</Location>
</VirtualHost>
● Virtual Proxy
O servidor tem um único endereço IP , e vários aliases ( CNAMES ) apontam para esta máquina no DNS. Você
quer executar um servidor web para www.example.com e www.example.org nesta máquina.
Criação e configuração de hosts virtuais em seu servidor Apache por DNS, precisa ter entradas DNS válidas
apontando para o site a ser criado. Você deve ter os nomes no DNS resolvendo para o seu endereço IP , ou
ninguém será capaz de acessar o seu web site. Você pode colocar as entradas no seu arquivo hosts para o teste
local, mas isso só funcionará a partir da máquina com as entradas dos hosts.
E necessário que o modulo proxy_module esteja ativo para que seja feito o forward (Repasse) de conexões,
URLs, complementos de URLs, etc para outros servidores definidos no ProxyPass, ProxyPassReverse e Redirect
Permance.
● Virtual Proxy Exemplo
Listen vproxy1.linuxcorp.br:1025 https
ProxyVia On
<VirtualHost 192.168.249.167:1025>
ServerName vproxy1.linuxcorp.br:1025
ServerAlias vproxy1.linuxcorp.br 192.168.249.167
ServerAdmin [email protected]
ErrorLog /var/log/httpd/vproxy1.linuxcorp.br-error.log
CustomLog /var/log/httpd/vproxy1.linuxcorp.br-access.log common
SSLProxyEngine On
SSLEngine On
SSLProtocol All -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Require all denied
Require ip 127.0.0.1
</Proxy>
ProxyPass / https://192.168.249.168/ connectiontimeout=5 timeout=30 max=50 retry=120 acquire=300 KeepAlive=On
ProxyPassReverse /s http:/192.168.249.168/
Redirect Permanent / http://192.168.249.168/
<Location />
Require all denied
Require ip 127.0.0.1
</Location>
</VirtualHost>
● Load Balancer
Atualmente existem três algoritmos de load balancer disponíveis para uso: Request Counting, Weighted Traffic
Counting and Pending Request Counting . Estes são controlados via o valor lbmethod da definição Balancer. Veja
a diretiva ProxyPass para mais informações , especialmente sobre como configurar o balanceador e
BalancerMembers .
O balanceador suporta stickyness . Quando uma solicitação é intermediada por proxy para alguns back-ends, em
seguida, todos os seguintes pedidos do mesmo usuário deve ser proxy para o mesmo back-end. Muitos
balanceadores de carga de implementar este recurso através de uma tabela que mapeia os endereços IP cliente
para back-ends . Esta abordagem é transparente para os clientes e back-ends , mas sofre de alguns problemas :
a distribuição de carga desigual se os clientes estão se “escondido” atrás de proxies , erros stickyness quando um
cliente usa um endereço IP dinâmico, que muda durante uma sessão e perda de stickyness , se o tabela de
mapeamento transborda .
● Load Balancer Exemplo
Listen loadbalancer.linuxcorp.br:1025 https
ProxyVia On
<VirtualHost 192.168.249.167:1025>
ServerName loadbalancer.linuxcorp.br:1025
ServerAlias loadbalancer.linuxcorp.br 192.168.249.167
ServerAdmin [email protected]
ErrorLog /var/log/httpd/loadbalancer.linuxcorp.br-error.log
CustomLog /var/log/httpd/loadbalancer.linuxcorp.br-access.log common
SSLProxyEngine On
SSLEngine On
SSLProtocol All -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / balancer://mycluster/ nofailover=Off
ProxyPassReverse / balancer://mycluster
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://mycluster>
BalancerMember http://192.168.249.200:1120 connectiontimeout=5 timeout=30 max=50 retry=120 loadfactor=1 acquire=300 KeepAlive=On
ProxySet lbmethod=byrequests stickysession=ROUTEID
</Proxy>
<Location />
Require all denied
Require ip 127.0.0.1
</Location>
</VirtualHost>
● Apache 2.4
<Location /balancer-manager>
SetHandler balancer-manager
AuthName "Acesso restrito"
AuthType Basic
AuthBasicProvider file
AuthUserFile "/etc/httpd/htpasswd"
Require valid-user
</Location>
● Apache 2.2
<Location /balancer-manager>
SetHandler balancer-manager
AuthType Basic
AuthName "Acesso restrito"
AuthUserFile "/etc/httpd/htpasswd"
Require valid-user
</Location>
● Apache 2.4
<Location />
Require all denied
Require ip 192.168.249.1
Require ip 127.0.0.1
</Location>
● Apache 2.2
<Location />
Order Deny,Allow
Deny from All
Allow from 127.0.0.1 192.168.249.0/24
</Location>
● ACL Apache 2.4
Permitir acesso a todos
Require all granted
Require not ip 10.252.46.165
Require not host example.com.br
RequireAll : Todos os requisitos de autorização no bloco deve ser cumprida para permitir o acesso .
RequireAny : Se algum dos requisitos de autorização neste bloco são cumpridos , este bloco é marcado como
satisfeito.
RequireNone : Se algum dos requisitos enumerados ter sucesso , a directiva irá falhar.
● Conjunto de regras
<RequireAny>
<RequireAll>
Require user root
Require ip 123.123.123.123
</RequireAll>
<RequireAll>
<RequireAny>
Require group sysadmins
Require group useraccounts
Require user anthony
</RequireAny>
<RequireNone>
Require group restrictedadmin
Require host bad.host.com
</RequireNone>
</RequireAll>
</RequireAny>
FIM