• Nenhum resultado encontrado

1.1. Utilizando o comando telnet, reproduza o envio de um pedido HTTP ao servidor WWW do ISEP.

N/A
N/A
Protected

Academic year: 2021

Share "1.1. Utilizando o comando telnet, reproduza o envio de um pedido HTTP ao servidor WWW do ISEP."

Copied!
5
0
0

Texto

(1)

HTTP

0. Objectivos

 Conhecer estrutura de pedido HTTP.

 Restringir acessos a páginas com autenticação.

 Configurar servidor com múltiplos domínios alojados.

 Configurar HTTP/2

 Configurar redireccionamentos internos e externos.

1. Pedido HTTP

1.1. Utilizando o comando telnet, reproduza o envio de um pedido HTTP ao servidor WWW do ISEP. telnet www.isep.ipp.pt 80

GET / HTTP/1.0

Host: www.isep.ipp.pt (linha em branco)

1.2. Experimente também solicitar apenas as linhas de cabeçalho relativas à página de entrada do site do ISEP.

telnet www.isep.ipp.pt 80 HEAD / HTTP/1.0

Host: www.isep.ipp.pt (linha em branco)

Analise as linhas de cabeçalho recebidas do servidor.

1.3. Reproduza um pedido da página do curso de Mestrado: www.dee.isep.ipp.pt/meec. Siga os redireccionamentos indicados até conseguir obter a página pretendida.

2. Instalação e Configuração de Servidor Web

2.1. Arranque o servidor HTTP (Apache) no seu computador de trabalho: service httpd start

2.2. Habilite o acesso ao servidor Web através da firewall local.

iptables -I INPUT 1 -j ACCEPT -p tcp --destination-port 80

3. Domínios Virtuais

3.1 Verifique que os domínios sitennX.labredes.dee.isep.ipp.pt se encontram registados no DNS como nomes alternativos da sua máquina.

3.2 Edite o ficheiro de configuração do servidor Apache (/etc/httpd.conf) de forma a criar 4 domínios virtuais correspondentes aos nomes atribuídos à sua máquina ( site_A a site_D).

(2)

DocumentRoot "/www/site_A"

ServerName sitexxA.labredes.dee.isep.ipp.pt </VirtualHost>

<Directory "/www/site_A">

# aceita diretivas definidas nos ficheiros .htaccess AllowOverride All

# permite o acesso a partir de qualquer máquina Require all granted

</Directory <VirtualHost *:80> DocumentRoot "/www/site_B" ServerName sitexxA.labredes.dee.isep.ipp.pt </VirtualHost> <Directory "/www/site_B"> AllowOverride All Require all granted </Directory>

...

3.3 Recarregue o ficheiro de configuração para ativar as alterações efetuadas.

3.4 Crie os diretórios para alojar cada um dos domínios, conforme especificado nas directivas DocumentRoot:

mkdir /www/site_A mkdir /www/site_B mkdir /www/site_C mkdir /www/site_D

3.5 Instale uma página de teste em cada um dos domínios:

wget ave.dee.isep.ipp.pt/~jml/ingre/lab_http/idx_php.txt -O /www/site_A/index.php wget ave.dee.isep.ipp.pt/~jml/ingre/lab_http/idx_php.txt -O /www/site_B/index.php wget ave.dee.isep.ipp.pt/~jml/ingre/lab_http/idx_php.txt -O /www/site_C/index.php wget ave.dee.isep.ipp.pt/~jml/ingre/lab_http/idx_php.txt -O /www/site_D/index.php 3.6 Utilizando um navegador Web (browser), verifique que consegue aceder às páginas instaladas para

cada um dos domínios.

firefox http://sitennnA.labredes.dee.isep.ipp.pt

3.7 Verifique também que consegue aceder às páginas dos domínios de outros colegas do laboratório.

4. Controlo de acesso

É possível definir restrições de acesso às paginas, obrigando os clientes a autenticarem-se através de username e password. No directório em que se pretender impor restrições de acesso, deve ser colocado um ficheiro, tipicamente com o nome .htaccess (nome configurado no ficheiro httpd.conf). Neste ficheiro podem ser definidos os utilizadores com acesso permitido e a localização do ficheiro .htpasswd onde se encontram as respectivas passwords.

4.1. No diretório de alojamento do domínio site_A crie um ficheiro .htaccess com o conteúdo seguinte:

AuthType Basic AuthName "Lab.HTTP"

AuthUserFile /home/my_username/.htpasswd Require valid-user

(3)

4.2. Para gerar ou alterar as passwords do ficheiro .htpasswd pode ser usado o utilitário htpasswd. Crie um ficheiro .htpasswd no seu directório principal, definindo a password de um utilizador ingre.

htpasswd -c /home/alunos/nr_aluno/.htpasswd ingre 4.3. Verifique que o ficheiro .htpasswd foi criado com sucesso

cat ~/.htpasswd

O seu conteúdo deve ser semelhante a: ingre:ak1Xbh3pSLDPI

4.4. Verifique que só tem acesso aos conteúdos publicados deste domínio quem possuir as respectivas credenciais.

4.5. Verifique também que o acesso aos restantes domínios não foi afetado.

5. Reescrita (rewrite)

5.1 No ficheiro .htaccess da área site_B, crie uma regra de reescrita (rewrite) que permita redirecionar todos os acessos a conteúdos com prefixos sC para a página inicial do site site_C

RewriteEngine on

RewriteRule ^sC http://sitennnC.labredes.dee.isep.ipp.pt/ [R]

Utilizando um navegador WWW, experimente aceder a

http://sitennB.labredes.dee.isep.ipp.pt/sC

5.2 No ficheiro .htaccess da área site_B, crie também uma regra de rewrite que permita obter recursivamente (via proxy) a página inicial do site site_D quando forem solicitados conteúdos com prefixos sD.

RewriteRule ^sD http://sitennnD.labredes.dee.isep.ipp.pt/ [P]

Utilizando um navegador WWW, experimente aceder a

http://sitennB.labredes.dee.isep.ipp.pt/sD_any_thing

Compare este resultado com o obtido na experiência 5.1

5.3 Adicione uma nova uma regra que permita registar e assinalar como proibidos os acessos a conteúdos com o prefixo sE

RewriteRule ^sE - [L,F]

Utilizando um navegador WWW, experimente aceder a

http://sitennB.labredes.dee.isep.ipp.pt/sE/some_text

5.4 Crie um redireccionamento dos conteúdos solicitados da directoria /city do domínio sitennB para a página da Wikipédia com o mesmo nome.

http://sitennB.labredes.dee.isep.ipp.pt/city/Braga -> https://www.wikipedia.org/wiki/Braga Utilizando um navegador WWW, experimente aceder a

(4)

http://sitennB.labredes.dee.isep.ipp.pt/city/Aveiro

6. HTTP2

O servidor Apache pode suportar HTTP/2, se configurado para incluir o módulo mod_http2.so. 6.1. Prepare um ficheiro de configuração /etc/httpd/conf.modules.d/10-h2.conf com o seguinte

conteúdo:

LoadModule http2_module modules/mod_http2.so Protocols h2 h2c http/1.1

6.1. Arranque (ou re-arranque) o servidor httpd da sua máquina: service httpd restart

6.2. Verifique que é possível obter uma página através de HTTP/2. curl --http2 http://localhost/test.html

Neste processo, o cliente curl inicia um pedido HTTP/1.1, aplicando de seguida um pedido de upgrade para HTTP/2.

6.3. Confirme este processo repetindo o pedido depois de lançar um analisador de tráfego numa outra janela.

tcpdump -i lo 'tcp port 80'

6.4. Experimente obter a mesma página assumindo que o suporte ao HTTP/2 no servidor implementado é previamente conhecido. Desta forma o cliente irá tentar utilizar nativamente um pedido HTTP/2, sem recorrer ao mecanismo de HTTP/2 upgrade.

curl --http2-prior-knowledge http://localhost/test.html

6.5. Para permitir o suporte de ligações nativas em HTTP/2, acrescente o protocolo h2c à linha Protocols do ficheiro de configuração do módulo http2.

Protocols h2 h2c http/1.1

6.6. Experimente novamente obter a página através de um pedido nativo HTTP/2.

curl --http2-prior-knowledge http://localhost/test.html

7. Registo de acessos

Analise o registo de acessos do seu servidor Web cat /var/log/httpd/access_log

8. Bibliografia

(5)

 Apache HTTP Server, Authentication and Authorization, http://httpd.apache.org/docs/current/howto/auth.html  Apache HTTP Server, Access Control, http://httpd.apache.org/docs/current/howto/access.html

 Apache HTTP Server, Virtual Host, http://httpd.apache.org/docs/current/vhosts  Apache HTTP Server, mod_rewrite, http://httpd.apache.org/docs/current/rewrite

8. Histórico

 HTTP, XHTML - v1.1 - 2008-11-17  HTTP, XHTML - v2.0 - 2009-11-18  HTTP, HTML – v3.0 - 2010-11-06  HTTP, HTML – v3.1 – 2011-11-14  HTTP, HTML – v3.2 – 2014-11-4  HTTP – v4.0 – 2017-09-22  HTTP – v5.0, 2018

Referências

Documentos relacionados

Considerando a contabilidade como centro de gestão da informação, os autores defendem o aprimoramento de uma visão sistêmica ao profissional, como também uma maior compreensão

Além desta verificação, via SIAPE, o servidor assina Termo de Responsabilidade e Compromisso (anexo do formulário de requerimento) constando que não é custeado

De acordo com o Consed (2011), o cursista deve ter em mente os pressupostos básicos que sustentam a formulação do Progestão, tanto do ponto de vista do gerenciamento

O caso de gestão estudado discutiu as dificuldades de implementação do Projeto Ensino Médio com Mediação Tecnológica (EMMT) nas escolas jurisdicionadas à Coordenadoria

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Todas as outras estações registaram valores muito abaixo dos registados no Instituto Geofísico de Coimbra e de Paços de Ferreira e a totalidade dos registos

Super identificou e definiu construtos e a respectiva interacção no desenvolvimento da carreira e no processo de tomada de decisão, usando uma série de hipóteses: o trabalho não

Starting out from my reflection on the words cor, preto, negro and branco (colour, black, negro, white), highlighting their basic meanings and some of their