Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Mengakhiri HTTPS pada EC2 instance yang menjalankan Python

Mode fokus
Mengakhiri HTTPS pada EC2 instance yang menjalankan Python - AWS Elastic Beanstalk

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk jenis kontainer Python yang menggunakan Apache HTTP Server dengan Web Server Gateway Interface (WSGI), Anda menggunakan file konfigurasi untuk mengaktifkan Apache HTTP Server untuk menggunakan HTTPS.

Tambahkan snippet berikut ke file konfigurasi Anda, menggantikan sertifikat dan materi kunci pribadi seperti yang diinstruksikan, dan simpan snippet di direktori .ebextensions paket sumber Anda. File konfigurasi melakukan tugas berikut:

  • Kunci packages tersebut menggunakan yum untuk memasang mod24_ssl.

  • Kunci files tersebut membuat file berikut pada instans:

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

    Mengonfigurasi server Apache. Jika aplikasi Anda tidak bernama application.py, ganti teks yang disorot dalam nilai WSGIScriptAlias dengan jalur lokal untuk aplikasi Anda. Sebagai contoh, aplikasi django mungkin berada di django/wsgi.py. Lokasi harus sesuai dengan nilai opsi WSGIPath yang Anda tetapkan untuk lingkungan Anda.

    Tergantung pada persyaratan aplikasi Anda, Anda mungkin juga perlu menambahkan direktori lain ke parameter python-path.

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

    Membuat file sertifikat pada instans. Ganti certificate file contents dengan isi sertifikat Anda.

    catatan

    YAML bergantung pada indentasi yang konsisten. Cocokkan tingkat indentasi saat mengganti konten dalam file konfigurasi contoh dan pastikan bahwa editor teks Anda menggunakan spasi, bukan karakter tab, untuk indentasi.

    Jika Anda memiliki sertifikat menengah, sertakan sertifikat tersebut di server.crt setelah sertifikat situs Anda.

    -----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

    Membuat file kunci pribadi pada instans. Ganti private key contents dengan isi kunci pribadi yang digunakan untuk membuat permintaan sertifikat atau sertifikat yang ditandatangani sendiri.

  • Kunci container_commands tersebut menghentikan layanan httpd setelah semuanya telah dikonfigurasi sehingga layanan menggunakan file https.conf dan sertifikat baru.

catatan

Contoh tersebut bekerja hanya di lingkungan yang menggunakan platform Python.

contoh .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"
catatan

Hindari melakukan file konfigurasi yang berisi kunci pribadi Anda ke kontrol sumber. Setelah Anda menguji konfigurasi dan mengonfirmasi bahwa konfigurasi berfungsi, simpan kunci pribadi Anda di Amazon S3 dan ubah konfigurasi untuk mengunduhnya selama deployment. Untuk instruksi, lihat Menyimpan kunci pribadi dengan aman di Amazon S3.

Pada lingkungan instans tunggal, Anda juga harus mengubah grup keamanan instans untuk mengizinkan lalu lintas pada port 443. File konfigurasi berikut mengambil ID grup keamanan menggunakan AWS CloudFormation fungsi dan menambahkan aturan ke dalamnya.

contoh .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

Untuk lingkungan yang seimbang beban, Anda mengonfigurasi penyeimbang beban untuk meneruskan lalu lintas aman melalui yang tidak tersentuh, atau mendekripsi dan mengenkripsi ulang untuk enkripsi. end-to-end

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.