A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

HTTP Server (Servidor HTTP)

Apresentações semelhantes


Apresentação em tema: "HTTP Server (Servidor HTTP)"— Transcrição da apresentação:

1 HTTP Server (Servidor HTTP)
Apache HTTP Server (Servidor HTTP)

2 Servidor Web – Apache (httpd)
O Apache é um servidor Web gratuito fonte aberta robusto altamente confiável configurável extensível

3 Servidor Web O grande propósito de um servidor WEB é receber e processar requisições via protocolo HTTP. Inicialmente o objetivo era servir páginas estáticas. Depois surgiram as páginas dinâmicas e interativas.

4 Modelo Request/Response
Cliente Servidor Web Solicitação HTTP Dados HTML O cliente envia uma requisição ao servidor usando protocolo HTTP. O servidor envia uma resposta ao cliente usando o protocolo HTTP.

5 Modelo Request/Response
Browser Servidor Web request response Exemplos: Mozilla Firefox Internet Explorer Chrome (Google) Opera Konqueror Safari Exemplos: Apache Internet Information Server (IIS) lighttpd

6 Modelo Request/Response
o browser faz uma requisição e aguarda o recebimento de uma resposta do servidor Web

7 Protocolo HTTP (HyperText Transport Protocol)
É um protocolo da camada de aplicação que usa TCP como protocolo de transporte É um protocolo “stateless”, isto é, sem estado, sendo cada requisição independente uma das outras. HTTP é um protocolo "sem-estados" (stateless)  não existe uma conexão permanente entre o servidor e o navegador, portanto o servidor não sabe se uma conexão seguinte está relacionada a uma conexão anterior

8 Host: www.policamp.edu.br User-Agent: Mozilla/5.0 ...
Requisição HTTP GET / HTTP/1.1 Host: User-Agent: Mozilla/ Connection: Keep-Alive Solicitações do protocolo HTTP: GET POST HEAD PUT DELETE OPTIONS TRACE GET: Retrieves the resource identified by the request URL HEAD: Returns the headers identified by the request URL POST: Sends data of unlimited length to the Web server PUT: Stores a resource under the request URL DELETE: Removes the resource identified by the request URL OPTIONS: Returns the HTTP methods the server supports TRACE: Returns the header fields sent with the TRACE request

9 Resposta HTTP HTTP/ OK Date: Thu, 16 Aug :46:38 GMT Content-Type: text-html Content-Lenght: 2541 <html> ...

10 URI (Universal Resource Identifier)
URIs são strings utilizadas para identificar recursos na Web como páginas, serviços, documentos, imagens, músicas, arquivos, caixas de s, noticias, entre outros. O URL (Universal Resource Locator) é um tipo de URI.

11 URI (Uniform Resource Identifier)
ftp://ftp.is.co.za/rfc/rfc1808.txt -- ftp scheme for File Transfer Protocol services gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles -- gopher scheme for Gopher and Gopher+ Protocol services -- http scheme for Hypertext Transfer Protocol services -- mailto scheme for electronic mail addresses news:comp.infosystems.www.servers.unix -- news scheme for USENET news groups and articles telnet://melvyl.ucop.edu/ -- telnet scheme for interactive services via the TELNET Protocol Indentificador Uniforme de Recursos URIs tipicamente consistem de três partes: O esquema de nomenclatura do mecanismo usado para acessar o recurso. O nome da máquina hospedeira do recurso. O nome do próprio recurso, fixado como um nome-de-caminho. Uniform Resource Identifiers (URI) provide a simple and extensible means for identifying a resource. RFC 2396

12 URL (Uniform Resource Locator)
<scheme>:://<host>/<path> Exemplo: Onde: <scheme> = indica qual o serviço solicitado (http, ftp, etc) <host> = <path> = /

13 Evolução da páginas dinâmicas
CGI (Common Gateway Interface) FastCGI Apache Modules (exemplos: mod_php, mod_ruby, mod_perl, ...)

14 Versões do Apache Apache 1.3.33 Apache 2.0 Apache 2.2
O Apache 1.3 funciona como um servidor Web baseado em processos (afeta a performace do sistema, aumenta o consumo de recursos pois esses não podem ser compartilhados) No Apache 2.x a arquitetura de processamento das requisições foi alterado para o uso de MPMs (Multi Processing Modules) (consome menos recursos; é mais ágil)

15 Instalação do Apache (Linux)
Faça o download tar –xzvf httpd tar.gz

16 Instalação do Apache (2)
$ ./configure –prefix=/usr/local/apache2 $ make $ make install $ /usr/local/apache2/bin/apache2ctl start

17 Documentação do Apache (1)
Compiling and Installing (Compilação e instalação) Starting (Iniciando) Stopping or Restarting ( Run-time Configuration Directives Directive Quick-Reference Modules (Módulos) Multi-Processing Modules (MPMs) Filters (Filtros) Handlers Server and Supporting Programs (Servidores e programas de Suporte) Glossary Mais informações em

18 Documentação do Apache (2)
Release Notes (Notas da Versão) Reference Manual (Manual de Referência) User’s Guide (Guia do Usuário) How-To / Tutorials

19 Programas httpd apachectl ab apxs configure dbmmanage
Servidor HTTP (hypertext transfer protocol server) apachectl Interface de controle do servidor HTTP Apache ab Apache HTTP server benchmarking tool apxs APache eXtenSion tool configure Configure the source tree dbmmanage Create and update user authentication files in DBM format for basic authentication

20 Programas (2) htdigest htdbm htpasswd logresolve rotatelogs suexec
Create and update user authentication files for digest authentication htdbm Manipulate DBM password databases. htpasswd Create and update user authentication files for basic authentication logresolve Resolve hostnames for IP-addresses in Apache logfiles rotatelogs Rotate Apache logs without having to kill the server suexec Switch User For Exec Other Programs Support tools with no own manual page.

21 Apache – Arquivos de configuração
/var/log/apache2 /etc/apache2 apache2.conf cond.d httpd.conf  principal arquivo de configuração ports.conf /usr/sbin/apache2

22 Arquivos de Configuração
Principais arquivos de configuração Sintaxe dos arquivos de configuração Módulos Escopo das Diretivas Arquivos .htaccess

23 Arquivos de Configuração
/etc/apache2 apache2.conf conf.d/ envvars httpd.conf mod-available/ mods-enabled/ ports.conf sites-available/ sites-enabled/

24 Arquivos de Configuração
/usr/sbin/apache2 /usr/sbin/apache2ctl /etc/init.d/apache2 /etc/default/apache2 /usr/lib/apache2 /usr/share/apache2

25 Arquivos de Configuração
Arquivo /etc/init.d/apache2 (usado principalmente em distribuições Debian e derivadas) /etc/init.d/httpd (usadas em outras distribuições e recomendada pela Apache) ./apache2 * Usage: /etc/init.d/apache2 {start|stop|restart|reload|force-reload}

26 apache2.conf É o principal arquivo de configuração do Apache2

27 Ports.conf No Apache2 a configuração de portas é feita pelo arquivo /etc/apache2/ports.conf

28 Aliases de interfaces de rede
Para tornar permanente os aliases de interfaces de rede é necessário alterar o arquivo /etc/init.d/bootmisc.sh /etc/rd.d/rc.local Essa mudança depende da distribuição do Linux usada.

29 Arquivos de Log Diretório ‘default’
/var/log/apache2/error.log  log de erros /var/log/apache2/access.log  log de acessos Diretório ‘default’ /var/www/apache2-default

30 Access Log Loga as informações referentes a quem está acessando o servidor As informações são registradas no formato CLF (Common Log Format)

31 access.log cat access_log
[16/Sep/2008:16:58: ] "GET / HTTP/1.1" "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1" [16/Sep/2008:16:58: ] "GET /icons/apache_pb2.gif HTTP/1.1" "http:// /" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1" [16/Sep/2008:16:58: ] "GET /icons/poweredby.png HTTP/1.1" "http:// /" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1" [16/Sep/2008:16:58: ] "GET /favicon.ico HTTP/1.1" "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1" [16/Sep/2008:16:58: ] "GET /favicon.ico HTTP/1.1" "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1" [16/Sep/2008:17:04: ] "GET /perl-status HTTP/1.1" "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1" [16/Sep/2008:17:04: ] "GET /perl-status/ HTTP/1.1" "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1" [16/Sep/2008:17:06: ] "GET /perl/test.pl HTTP/1.1" "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: ) Gecko/ Firefox/3.0.1"

32 Error Log O arquivo errorlog registra o log de erros do Apache.

33 error.log cat error_log
[Tue Sep 16 16:57: ] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0 [Tue Sep 16 16:57: ] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Tue Sep 16 16:57: ] [notice] Digest: generating secret for digest authentication ... [Tue Sep 16 16:57: ] [notice] Digest: done [Tue Sep 16 16:57: ] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads. [Tue Sep 16 16:57: ] [notice] mod_python: using mutex_directory /tmp [Tue Sep 16 16:57: ] [notice] Apache/2.2.8 (Unix) DAV/2 PHP/5.2.5 mod_python/3.3.1 Python/2.5.1 mod_ssl/2.2.8 OpenSSL/0.9.8g mod_perl/2.0.3 Perl/v configured -- resuming normal operations [Tue Sep 16 16:58: ] [error] [client ] Directory index forbidden by Options directive: /var/www/html/ [Tue Sep 16 16:58: ] [error] [client ] File does not exist: /var/www/html/favicon.ico [Tue Sep 16 16:58: ] [error] [client ] File does not exist: /var/www/html/favicon.ico [Tue Sep 16 17:03: ] [notice] SIGHUP received. Attempting to restart [Tue Sep 16 17:03: ] [notice] Digest: generating secret for digest authentication ... [Tue Sep 16 17:03: ] [notice] Digest: done [Tue Sep 16 17:03: ] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads. [Tue Sep 16 17:03: ] [notice] mod_python: using mutex_directory /tmp [Tue Sep 16 17:03: ] [notice] Apache/2.2.8 (Unix) DAV/2 PHP/5.2.5 mod_python/3.3.1 Python/2.5.1 mod_ssl/2.2.8 OpenSSL/0.9.8g mod_perl/2.0.3 Perl/v configured -- resuming normal operations [Tue Sep 16 17:04: ] [error] [client ] client denied by server configuration: /var/www/html/perl-status [Tue Sep 16 17:04: ] [error] [client ] client denied by server configuration: /var/www/html/perl-status

34 Processos $ ps aux | grep apache
ps aux | grep apache root ? Ss 19:44 0:00 /usr/sbin/apache2 -k start www-data ? S 19:44 0:00 /usr/sbin/apache2 -k start www-data ? S 19:44 0:00 /usr/sbin/apache2 -k start www-data ? S 19:44 0:00 /usr/sbin/apache2 -k start www-data ? S 19:44 0:00 /usr/sbin/apache2 -k start www-data ? S 19:44 0:00 /usr/sbin/apache2 -k start

35 Versão do Apache instalada
apache2ctl -v Server version: Apache/2.2.3 Server built: Jan :14:50

36 Versão do Apache instalado (detalhado)
apache2ctl -V Server version: Apache/2.2.3 Server built: Jan :14:50 Server's Module Magic Number: :3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count)

37 Versão do Apache instalado (detalhado) (2)
Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="" -D SUEXEC_BIN="/usr/lib/apache2/suexec" -D DEFAULT_PIDLOG="/var/run/apache2.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

38 Alias de diretórios

39 Estatística de uso dos Web Servers
Resultados da pesquisa de agosto do Netcraft mostram nova redução do percentual do Apache - "A liderança do Apache nas estatísticas de servidores web mantidas pelo Netcraft continua inquestionável, embora em declínio continuado. Os dados de agosto mostram mais uma pequena redução, e agora o m" (continua...) Para saber mais, visite o BR-Linux (http://br-linux.org/).

40 Uso de Servidores web Apache 48,4% IIS 34,2% Outros 17,4%
Publicado em Qui, 09/08/ :26 :: Mercado A liderança do Apache nas estatísticas de servidores web mantidas pelo Netcraft continua inquestionável, embora em declínio continuado. Os dados de agosto mostram mais uma pequena redução, e agora o mais popular servidor web livre corresponde a 48.4% dos domínios ativos, enquanto o IIS teve mais um pequeno ganho e agora responde por 34,2%. Na perspectiva de médio prazo, portanto, existe a possibilidade de a liderança percentual do Apache passar a ser desafiada. A pesquisa de agosto incluiu sites. “Uma notícia publicada na ComputerWorld uma pesquisa da Netcraft afirma que a liderança do Apache no segmento de servidor Web está ameaçada pela Microsoft, em virtude do crescimento acelerado da solução IIS. Segundo as conclusões "Se a Microsoft continuar a ganhar espaço de mercado nesse ritmo, ela pode tomar a liderança do Apache durante 2008”, afirma um post na Netcraft".” Fonte: Fonte:

41 Apache cresce ainda mais no mercado de servidores
As estatísticas de servidores web liberadas mensalmente pela Netcraft mostram que o servidor livre Apache opera, agora, 1,2 milhões de sites a mais que há um mês. Isso significa que o servidor web de código aberto está por trás de dos websites pesquisados, quase metade de toda a amostra. Em segundo lugar na lista está o Microsoft IIS, com uma fatia de 35%, seguido do Google Web Server (GWS) com 6% e do Lighttpd, também de código aberto, com 3% (1,7 milhões de sites). Segundo a Netcraft, uma nova promessa é o servidor Nginx, de autoria do programador russo Igor Sysoev. Em sua primeira aparição na lista, ele já alcançou o quinto lugar. As estatísticas estão disponíveis no site da Netcraft. O ranking de servidores de agosto está aqui. Publicado em 01/09/2008 às 10:45 em

42 Netcraft Web Server Survey

43 WebDAV (Web-based Distributed and Versioning)
É uma extensão ao HTTP Permite criar, copiar, mover ou excluir arquivos em um servidor Web Módulo mod_dev

44 O Apache é um sistema divido em módulos
Apenas um conjunto mínimo de módulos são carregados no núcleo do servidor http Outras funcionalidades são acrescentadas por meio de outros módulos Mais modulos são encontrados em

45 Módulos (2) Módulo worker  worker.c mod_auth  mod_auth.c mpm_winnt  mpm_winnt.c Os módulos podem ser compilados junto com o Apache ou carregados dinamicamente

46 Módulos (3) mpm_prefork  Apache estruturado em processos mpm_worker  Apache estruturado em threads

47 Suporte a Dynamic Shared Object (DSO)
São módulos que podem ser carregados dinamicamente Um módulo é definido como DSO no momento em que se está definindo a compilação do Apache Dynamic Shared Object = Objetos Compartilhados Dinamicamente

48 Status de um Módulo Núcleo (N) MPM (multi-processamento) (M) Base (B) Extensão (E) Experimental (X)

49 Core Features and Multi-Processing Modules
Core Apache HTTP Server features that are always available mpm_common A collection of directives that are implemented by more than one multi-processing module (MPM) beos This Multi-Processing Module is optimized for BeOS. event An experimental variant of the standard worker MPM mpm_netware Multi-Processing Module implementing an exclusively threaded web server optimized for Novell NetWare

50 Core Features e Multi-Processing Modules
mpmt_os2 Hybrid multi-process, multi-threaded MPM for OS/2 prefork Implements a non-threaded, pre-forking web server mpm_winnt Este módulo Multi-Processing é otimizado para Windows NT. worker Multi-Processing Module implementing a hybrid multi-threaded multi-process web server

51 Lista de Módulos Veja

52 Exemplos de Módulos mod_rewrite: provê um engine (“motor”) para reescrver URLs requisitadas sob demanda mod_deflate: comprime o conteúdo antes de enviar ao cliente mod_cband: controla a largura de banda usada mod_speling: tenta corrigir URLs com erros que o usuário fez por engano, como esquecer de acrescentar um ‘s’ a site, ou ignorando a questão de letras maiúsculas e minúsculas.

53 Código de Status do HTTP
Informativos (1XX) Requisição bem sucedida (2XX) Redirecionamento (3xx) Erro na requisição do cliente (4XX) Erro do servidor (5XX) Códigos de retorno do protocolo HTTP.

54 Autenticação no Apache
AccessFileName (.htaccess) AllowOverride AuthType AuthName  define o texto que aparecerá como título da área restrita na janela de autenticação Require Satisfy

55 Autenticação (2) .httpasswd .htacces Utilitário htpasswd:
# ./htpasswd –c .htpasswd <username>

56 Modelo CGI (Common Gateway Interface)
O usuário acessa uma URL Essa URL indica a necessidade de execução de um programa externo via interface CGI O servidor Web carrega o programa, redireciona a requisição, aguarda o processamento e recebe a resposta que é enviada de volta ao usuário.

57 CGI (Common Gateway Interface)
CGI define uma forma para o servidor web interagir com programas externos que geram conteúdo dinamicamente. Esses programas são frequentemente chamados programas CGI ou scripts CGI. É a maneira mais simples e mais comum de colocar conteúdo dinâmico em um site na web. The CGI defines a way for a web server to interact with external content-generating programs, which are often referred to as CGI programs or CGI scripts. It is the simplest, and most common, way to put dynamic content on your web site.

58 Servidor LAMP / WAMP / MAMP
Linux / Windows / Mac Apache MySQL PHP Um servidor LAMP é composto por um host com sistema operacional Linux, servidor web Apache, banco de dados MySQL e linguagem de programação PHP.

59 Exemplo de execução de um script PHP com acesso a base de dados MySQL
Uma transação de base de dados típica na Web consiste dos seguintes estágio que estão numerados acima. Passo 1. O navegador do usuário emite uma requisição HTTP para uma página Web em particular, por exemplo Passo 2. O servidor Web recebe a requisição, busca o arquivo index.html e passa esse arquivo para o interpretador PHP interpretar. Passo 3. O interpretador PHP inicia o parse do script. Dentro do script há uma comando para conectar a base de dados e executar o comando para buscar as notícias cadastradas e aprovadas para execução. Passo 4. O servidor MySQL recebe a query, process-a e envia o resultado – uma lista de noticias – de volta ao interpretador PHP Passo 5. O interpretador PHP termina a execução do script, formatando os resultados da query e gerando o código HTML que é retornado ao servidor Web. Passo 6. O servidor Web provê uma resposta contendo o código HTML retornado pelo PHP exibe o resultado ao usuário. O processo é basicamente o mesmo sem levar em consideração qual mecanismo de scripting ou base de dados usado. Frequentemente o servidor Web, o interpretador PHP e o servidor de banco de dados executam todos na mesma máquina. Contudo, é também comum o servidor de banco de dados executar em uma máquina separada, o que pode ser feito por questões de segurança,, aumento da capacidade ou distribuição de carga. Da perspectiva do desenvolvedor dará na mesma porém poderá oferecer alguma melhora vantagem na performance. ---- A typical Web database transaction consists of the following stages, which are numbered in above. We will examine the stages in the context of the Book-O-Rama example. Step 1. A user's Web browser issues an HTTP request for a particular Web page. For example, she might have requested a search for all the books at Book-O-Rama written by Laura Thomson, using an HTML form. The search results page is called results.php. Step 2. The Web server receives the request for results.php, retrieves the file, and passes it to the PHP engine for processing. Step 3. The PHP engine begins parsing the script. Inside the script is a command to connect to the database and execute a query (perform the search for books). PHP opens a connection to the MySQL server and sends on the appropriate query. Step 4. The MySQL server receives the database query and processes it, and sends the results— a list of books—back to the PHP engine. Step 5. The PHP engine finishes running the script, which will usually involve formatting the query results nicely in HTML. It then returns the resulting HTML to the Web server. Step 6. The Web server passes the HTML back to the browser, where the user can see the list of books she requested. The process is basically the same regardless of which scripting engine or database server you use. Often the Web server software, the PHP engine, and the database server all run on the same machine. However, it is also quite common for the database server to run on a different machine. You might do this for reasons of security, increased capacity, or load spreading. From a development perspective, this will be much the same to work with, but it might offer some significant advantages in performance.

60 DocumentRoot (raiz da localização dos arquivos)
/var/www/html

61 Estrutura de diretórios
httpd]# find $PWD /etc/httpd /etc/httpd/logs /etc/httpd/run /etc/httpd/conf /etc/httpd/conf/magic /etc/httpd/conf/httpd.conf /etc/httpd/conf.d /etc/httpd/conf.d/proxy_ajp.conf /etc/httpd/conf.d/manual.conf /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/perl.conf /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/webalizer.conf /etc/httpd/conf.d/README /etc/httpd/conf.d/perl.conf~ /etc/httpd/conf.d/python.conf /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/squid.conf /etc/httpd/modules

62 Arquivos de log /var/log/httpd
httpd]# ls -laF total 24 -rw-r--r-- 1 root root :06 access_log -rw-r--r-- 1 root root :43 access_log -rw-r--r-- 1 root root :04 error_log -rw-r--r-- 1 root root :43 error_log -rw-r--r-- 1 root root :54 ssl_access_log -rw-r--r-- 1 root root :03 ssl_error_log -rw-r--r-- 1 root root :43 ssl_error_log -rw-r--r-- 1 root root :54 ssl_request_log

63 httpd.conf Arquivo principal de configuração do Apache localizado em /etc/httpd/conf/

64 Alguns Parâmetros de Configuração
ServiceType: define o modo de execução do servidor (standalone / inetd) Port: porta específica onde o servidor aceitará conexões (80) User: define qual usuário é dono do processo httpd Group: define qual grupo será dono do processo httpd DocumentRoot: define a raiz onde os arquivos serão disponibilizados ServerAdmin DirectoryIndex

65 Configuração do Apache
As diretivas de configuração estão agrupadas em três sessões básicas: global_environment (configuração global do servidor Apache) diretivas que definem os parâmetros do servidor principal (main) ou padrão configurações para Hosts Virtuais (Virtual Hosts)

66 Configuração do Apache
Sessão 1 – Global Environment (Ambiente Global) Sessão 2 – Main server configuration (Configuração do Servidor Principal) Sessão 3 – Virtual Hosts (Hosts Virtuais)

67 Variáveis de Ambiente

68 Sites seguros com SSL (Secure Socket Layer)
Um certificado SSL é normalmente emitido por uma Autoridade Certificadora (Certified Authority (CA)) – garante a identidade do servidor Web em questão. Conexão segura HTTPS (HTTP seguro)

69 Conexões Segura Cliente Servidor
Cliente solicita uma conexão segura através de uma URL https://... Antes de estabelecer uma conexão o servidor envia o CA ao cliente Se o certificado emitido não for autêntico para o domínio pelo qual response uma msg de alerta será exibida no cliente Se o certificado for válido a conexão continuará. Uma chave é criada para sessão e enviada ao servidor. Essa chave é criptografada utilizando a chave pública do servidor O servidor decodifica a chave da sessão utilizando sua chave privada. A partir desse momento, todo o conteúdo da conexão será criptografado por essa sessão, que é de conhecimento exclusivo do cliente e do servidor em questão Certified Authority (CA))

70 Criação do Certificado
Algumas CAs que fornecem certificados para servidores Web são: Thawte VeriSign GoDaddy A emissão de certificados é um serviço pago. A CAcert emite certificados gratuitamente. Certified Authority (CA))

71 Instalação do Certificado

72 Conexão Segura – Protocolo SSL
Porta 443 corresponde ao protocolo SSL utilizado na conexão segura

73 Bibliografia [1] MARCELO, A. Apache – Configurando o Servidor Web para Linux. 2ª edição. Rio de Janeiro: Brasport, 2006. [2] VEIGA, R.G.A. Apache – Guia de Consulta Rápida. São Paulo: Novatec, 2006.

74 Links [1] [2] [3] Revista Linux Magazine, nº 43, Junho pg 49 a 55


Carregar ppt "HTTP Server (Servidor HTTP)"

Apresentações semelhantes


Anúncios Google