View a markdown version of this page

Cara menggunakan proxy lokal - AWS IoT Core

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

Cara menggunakan proxy lokal

Anda dapat menjalankan proxy lokal pada perangkat sumber dan tujuan untuk mengirimkan data ke titik akhir tunneling aman. Jika perangkat Anda berada di jaringan yang menggunakan proxy web, proxy web dapat mencegat koneksi sebelum meneruskannya ke internet. Dalam hal ini, Anda harus mengonfigurasi proxy lokal Anda untuk menggunakan proxy web. Untuk informasi selengkapnya, lihat Konfigurasikan proxy lokal untuk perangkat yang menggunakan proxy web.

Alur kerja proxy lokal

Langkah-langkah berikut menunjukkan bagaimana proxy lokal dijalankan pada perangkat sumber dan tujuan.

  1. Hubungkan proxy lokal ke tunneling aman

    Pertama, proxy lokal harus membuat koneksi untuk mengamankan tunneling. Saat Anda memulai proxy lokal, gunakan argumen berikut:

    • Ar -r gumen untuk menentukan Wilayah AWS di mana terowongan dibuka.

    • -tArgumen untuk meneruskan token akses klien sumber atau tujuan dikembalikan dariOpenTunnel.

      catatan

      Dua proxy lokal yang menggunakan nilai token akses klien yang sama tidak dapat dihubungkan pada saat yang sama.

  2. Melakukan tindakan sumber atau tujuan

    Setelah WebSocket koneksi dibuat, proxy lokal melakukan tindakan mode sumber atau mode tujuan, tergantung pada konfigurasinya.

    Secara default, proxy lokal mencoba menyambung kembali ke tunneling aman jika terjadi kesalahan input/output (I/O) atau jika WebSocket koneksi ditutup secara tidak terduga. Hal ini menyebabkan koneksi TCP ditutup. Jika terjadi kesalahan soket TCP, proxy lokal mengirimkan pesan melalui terowongan untuk memberi tahu pihak lain untuk menutup koneksi TCP-nya. Secara default, proxy lokal selalu menggunakan komunikasi SSL.

  3. Hentikan proxy lokal

    Setelah Anda menggunakan terowongan, aman untuk menghentikan proses proxy lokal. Kami menyarankan Anda menutup terowongan secara eksplisit dengan meneleponCloseTunnel. Klien terowongan aktif mungkin tidak ditutup tepat setelah meneleponCloseTunnel.

Untuk informasi selengkapnya tentang cara menggunakan Konsol Manajemen AWS untuk membuka terowongan dan memulai sesi SSH, lihatBuka terowongan dan mulai sesi SSH ke perangkat jarak jauh.

Praktik terbaik proxy lokal

Saat menjalankan proxy lokal, ikuti praktik terbaik berikut:

  • Hindari penggunaan argumen proxy -t lokal untuk meneruskan token akses. Sebaiknya gunakan variabel AWSIOT_TUNNEL_ACCESS_TOKEN lingkungan untuk mengatur token akses untuk proxy lokal.

  • Jalankan proxy lokal yang dapat dieksekusi dengan hak istimewa paling sedikit di sistem operasi atau lingkungan.

    • Hindari menjalankan proxy lokal sebagai administrator di Windows.

    • Hindari menjalankan proxy lokal sebagai root di Linux dan macOS.

  • Pertimbangkan untuk menjalankan proxy lokal pada host terpisah, wadah, kotak pasir, penjara chroot, atau lingkungan virtual.

  • Bangun proxy lokal dengan flag keamanan yang relevan, tergantung pada toolchain Anda.

  • Pada perangkat dengan beberapa antarmuka jaringan, gunakan -b argumen untuk mengikat soket TCP ke antarmuka jaringan yang digunakan untuk berkomunikasi dengan aplikasi tujuan.

Contoh perintah dan output

Berikut ini menunjukkan contoh perintah yang Anda jalankan dan output yang sesuai. Contoh menunjukkan bagaimana proxy lokal dapat dikonfigurasi dalam kedua source dan destination mode. Proksi lokal memutakhirkan protokol HTTPS WebSockets untuk membuat koneksi berumur panjang dan kemudian mulai mentransmisikan data melalui koneksi ke titik akhir perangkat tunneling aman.

Sebelum Anda menjalankan perintah ini:

Anda harus membuka terowongan dan memperoleh token akses klien untuk sumber dan tujuan. Anda juga harus membangun proxy lokal seperti yang dijelaskan sebelumnya. Untuk membangun proxy lokal, buka kode sumber proxy lokal di GitHub repositori dan ikuti instruksi untuk membangun dan menginstal proxy lokal.

catatan

Perintah berikut yang digunakan dalam contoh menggunakan verbosity flag untuk menggambarkan ikhtisar langkah-langkah berbeda yang dijelaskan sebelumnya setelah Anda menjalankan proxy lokal. Kami menyarankan Anda menggunakan bendera ini hanya untuk tujuan pengujian.

Menjalankan proxy lokal dalam mode sumber

Perintah berikut menampilkan cara menjalankan proxy lokal dalam mode sumber.

Linux/macOS

Di Linux atau macOS, jalankan perintah berikut di terminal untuk mengkonfigurasi dan memulai proxy lokal pada sumber Anda.

export AWSIOT_TUNNEL_ACCESS_TOKEN=${access_token} ./localproxy -s 5555 -v 5 -r us-west-2

Di mana:

  • -sadalah port mendengarkan sumber, yang memulai proxy lokal dalam mode sumber.

  • -vadalah verbositas output, yang bisa menjadi nilai antara nol dan enam.

  • -radalah daerah titik akhir tempat terowongan dibuka.

Untuk informasi selengkapnya tentang parameter, lihat Opsi yang disetel menggunakan argumen baris perintah.

Windows

Di Windows, Anda mengkonfigurasi proxy lokal mirip dengan cara yang Anda lakukan untuk Linux atau macOS, tetapi bagaimana Anda mendefinisikan variabel lingkungan berbeda dari platform lain. Jalankan perintah berikut di cmd jendela untuk mengkonfigurasi dan memulai proxy lokal pada sumber Anda.

set AWSIOT_TUNNEL_ACCESS_TOKEN=${access_token} .\localproxy -s 5555 -v 5 -r us-west-2

Di mana:

  • -sadalah port mendengarkan sumber, yang memulai proxy lokal dalam mode sumber.

  • -vadalah verbositas output, yang bisa menjadi nilai antara nol dan enam.

  • -radalah daerah titik akhir tempat terowongan dibuka.

Untuk informasi selengkapnya tentang parameter, lihat Opsi yang disetel menggunakan argumen baris perintah.

catatan

Saat menggunakan versi terbaru proxy lokal dalam mode sumber, Anda harus menyertakan AWS CLI parameter --destination-client-type V1 pada perangkat sumber untuk kompatibilitas mundur. Ini berlaku saat menghubungkan ke salah satu mode tujuan ini:

  • AWS IoT Klien Perangkat

  • AWS IoT Komponen Tunneling Aman atau Komponen Tunn AWS IoT Greengrass Version 2 eling Aman

  • Kode demo AWS IoT Tunneling Aman apa pun yang ditulis sebelum 2022

  • Versi 1.X dari proxy lokal

Parameter ini memastikan komunikasi yang tepat antara proxy sumber yang diperbarui dan klien tujuan lama. Untuk informasi selengkapnya tentang versi proxy lokal, lihat AWS IoT Secure Tunneling on GitHub.

Berikut ini adalah contoh output menjalankan proxy lokal dalam source mode.

... ... Starting proxy in source mode Attempting to establish web socket connection with endpoint wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Resolved proxy server IP: 10.10.0.11 Connected successfully with proxy server Performing SSL handshake with proxy server Successfully completed SSL handshake with proxy server HTTP/1.1 101 Switching Protocols ... Connection: upgrade channel-id: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 upgrade: websocket ... Web socket session ID: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 Web socket subprotocol selected: aws.iot.securetunneling-2.0 Successfully established websocket connection with proxy server: wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Setting up web socket pings for every 5000 milliseconds Scheduled next read: ... Starting web socket read loop continue reading... Resolved bind IP: 127.0.0.1 Listening for new connection on port 5555
Menjalankan proxy lokal dalam mode tujuan

Perintah berikut menampilkan cara menjalankan proxy lokal dalam mode tujuan.

Linux/macOS

Di Linux atau macOS, jalankan perintah berikut di terminal untuk mengkonfigurasi dan memulai proxy lokal di tujuan Anda.

export AWSIOT_TUNNEL_ACCESS_TOKEN=${access_token} ./localproxy -d 22 -v 5 -r us-west-2

Di mana:

  • -dadalah aplikasi tujuan yang memulai proxy lokal dalam mode tujuan.

  • -vadalah verbositas output, yang bisa menjadi nilai antara nol dan enam.

  • -radalah daerah titik akhir tempat terowongan dibuka.

Untuk informasi selengkapnya tentang parameter, lihat Opsi yang disetel menggunakan argumen baris perintah.

Windows

Di Windows, Anda mengkonfigurasi proxy lokal mirip dengan cara yang Anda lakukan untuk Linux atau macOS, tetapi bagaimana Anda mendefinisikan variabel lingkungan berbeda dari platform lain. Jalankan perintah berikut di cmd jendela untuk mengkonfigurasi dan memulai proxy lokal di tujuan Anda.

set AWSIOT_TUNNEL_ACCESS_TOKEN=${access_token} .\localproxy -d 22 -v 5 -r us-west-2

Di mana:

  • -dadalah aplikasi tujuan yang memulai proxy lokal dalam mode tujuan.

  • -vadalah verbositas output, yang bisa menjadi nilai antara nol dan enam.

  • -radalah daerah titik akhir tempat terowongan dibuka.

Untuk informasi selengkapnya tentang parameter, lihat Opsi yang disetel menggunakan argumen baris perintah.

catatan

Saat menggunakan versi terbaru proxy lokal dalam mode tujuan, Anda harus menyertakan AWS CLI parameter --destination-client-type V1 pada perangkat tujuan untuk kompatibilitas mundur. Ini berlaku saat menghubungkan ke salah satu mode sumber ini:

  • Browser-based Tunneling Aman dari Kon AWS sol.

  • Versi 1.X dari proxy lokal

Parameter ini memastikan komunikasi yang tepat antara proxy tujuan yang diperbarui dan klien sumber yang lebih lama. Untuk informasi selengkapnya tentang versi proxy lokal, lihat AWS IoT Secure Tunneling on GitHub.

Berikut ini adalah contoh output menjalankan proxy lokal dalam destination mode.

... ... Starting proxy in destination mode Attempting to establish web socket connection with endpoint wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Resolved proxy server IP: 10.10.0.11 Connected successfully with proxy server Performing SSL handshake with proxy server Successfully completed SSL handshake with proxy server HTTP/1.1 101 Switching Protocols ... Connection: upgrade channel-id: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 upgrade: websocket ... Web socket session ID: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 Web socket subprotocol selected: aws.iot.securetunneling-2.0 Successfully established websocket connection with proxy server: wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Setting up web socket pings for every 5000 milliseconds Scheduled next read: ... Starting web socket read loop continue reading...