Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Encerramento de HTTPS em EC2 instâncias que executam Python

Modo de foco
Encerramento de HTTPS em EC2 instâncias que executam Python - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Para os tipos de contêiner Python que usam Apache HTTP Server com a Web Server Gateway Interface (WSGI), você usa um arquivo de configuração para habilitar o Apache HTTP Server a usar o HTTPS.

Adicione o seguinte trecho ao seu arquivo de configuração, substituindo o material de certificado e de chave privada como instruído, e salve-o no diretório .ebextensions do seu pacote de origem. O arquivo de configuração executa as seguintes tarefas:

  • A chave packages usa o yum para instalar mod24_ssl.

  • A chave files cria os seguintes arquivos na instância:

    /etc/httpd/conf.d/ssl.conf

    Configura o servidor Apache. Se o seu aplicativo não estiver nomeado como application.py, substitua o texto destacado no valor para WSGIScriptAlias pelo caminho local para seu aplicativo. Por exemplo, um aplicativo django pode estar em django/wsgi.py. A localização deve corresponder ao valor da opção WSGIPath que você definiu para seu ambiente.

    De acordo com os requisitos do seu aplicativo, você também pode precisar adicionar outros diretórios ao parâmetro python-path.

    /etc/pki/tls/certs/server.crt

    Cria o arquivo de certificado na instância. certificate file contentsSubstitua pelo conteúdo do seu certificado.

    nota

    YAML depende de um recuo consistente. Compare o nível de recuo ao substituir o conteúdo em um arquivo de configuração de exemplo e se confira se o editor de texto usa espaços, e não caracteres de tabulação, como recuo.

    Se você tiver certificados intermediários, inclua-os no server.crt depois do certificado do site.

    -----BEGIN CERTIFICATE----- certificate file contents -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- first intermediate certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- second intermediate certificate -----END CERTIFICATE-----
    /etc/pki/tls/certs/server.key

    Cria o arquivo de chave privada na instância. private key contentsSubstitua pelo conteúdo da chave privada usada para criar a solicitação de certificado ou o certificado autoassinado.

  • A chave container_commands interrompe o serviço httpd após tudo estar configurado, para que ele use o novo certificado e o arquivo https.conf.

nota

O exemplo funciona apenas em ambientes usando a Plataforma Python.

exemplo .ebextensions/https-instance.config
packages: yum: mod24_ssl : [] files: /etc/httpd/conf.d/ssl.conf: mode: "000644" owner: root group: root content: | LoadModule wsgi_module modules/mod_wsgi.so WSGIPythonHome /opt/python/run/baselinenv WSGISocketPrefix run/wsgi WSGIRestrictEmbedded On Listen 443 <VirtualHost *:443> SSLEngine on SSLCertificateFile "/etc/pki/tls/certs/server.crt" SSLCertificateKeyFile "/etc/pki/tls/certs/server.key" Alias /static/ /opt/python/current/app/static/ <Directory /opt/python/current/app/static> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /opt/python/current/app/application.py <Directory /opt/python/current/app> Require all granted </Directory> WSGIDaemonProcess wsgi-ssl processes=1 threads=15 display-name=%{GROUP} \ python-path=/opt/python/current/app \ python-home=/opt/python/run/venv \ home=/opt/python/current/app \ user=wsgi \ group=wsgi WSGIProcessGroup wsgi-ssl </VirtualHost> /etc/pki/tls/certs/server.crt: mode: "000400" owner: root group: root content: | -----BEGIN CERTIFICATE----- certificate file contents -----END CERTIFICATE----- /etc/pki/tls/certs/server.key: mode: "000400" owner: root group: root content: | -----BEGIN RSA PRIVATE KEY----- private key contents # See note below. -----END RSA PRIVATE KEY----- container_commands: 01killhttpd: command: "killall httpd" 02waitforhttpddeath: command: "sleep 3"
nota

Evite confirmar um arquivo de configuração que contenha sua chave privada para o controle de origem. Depois que você tiver testado a configuração e confirmado se ela está funcionando, armazene a chave privada no Amazon S3 e modifique a configuração para fazer download dele durante a implantação. Para obter instruções, consulte Armazenar chaves privadas com segurança no Amazon S3.

Em um ambiente de instância única, você também deve modificar o grupo de segurança da instância para habilitar o tráfego na porta 443. O arquivo de configuração a seguir recupera a ID do grupo de segurança usando uma AWS CloudFormation função e adiciona uma regra a ela.

exemplo .ebextensions/ .config https-instance-single
Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0

Para um ambiente com balanceamento de carga, você configura o balanceador de carga para passar tráfego seguro intocado ou descriptografar e recriptografar para criptografia. end-to-end

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.