Saya menyiapkan Node.js
server pertama saya pada cloud Linux node
dan saya cukup baru untuk rincian Linux admin
. (BTW saya tidak mencoba menggunakan Apache pada saat yang bersamaan.)
Semuanya terpasang dengan benar, tetapi saya menemukan bahwa kecuali saya menggunakan root login
, saya tidak dapat mendengarkan port 80
dengan simpul. Namun saya lebih suka tidak menjalankannya sebagai root untuk alasan keamanan.
Apa praktik terbaik untuk:
- Tetapkan izin / pengguna yang baik untuk simpul sehingga aman / dikotak pasir?
- Izinkan port 80 digunakan dalam batasan ini.
- Mulai simpul dan jalankan secara otomatis.
- Menangani informasi log yang dikirim ke konsol.
- Masalah pemeliharaan dan keamanan umum lainnya.
Haruskah saya meneruskan lalu lintas port 80 ke port mendengarkan yang berbeda?
Terima kasih
sumber
/etc/rc.local
, bukankah itu akan dijalankan sepertiroot
pada boot sistem? Itu akan mengalahkan tujuan redirect port 80.Berikan Izin Pengguna Aman Untuk Menggunakan Port 80
Ingat, kami TIDAK ingin menjalankan aplikasi Anda sebagai pengguna root, tetapi ada halangan: pengguna aman Anda tidak memiliki izin untuk menggunakan port HTTP default (80). Tujuan Anda adalah untuk dapat menerbitkan situs web yang dapat digunakan pengunjung dengan menavigasi ke URL yang mudah digunakan seperti
http://ip:port/
Sayangnya, kecuali jika Anda masuk sebagai root, Anda biasanya harus menggunakan URL like
http://ip:port
- di mana nomor port> 1024.Banyak orang terjebak di sini, tetapi solusinya mudah. Ada beberapa opsi tapi ini yang saya suka. Ketikkan perintah berikut:
Sekarang, ketika Anda memberi tahu aplikasi Node bahwa Anda ingin dijalankan pada port 80, itu tidak akan mengeluh.
Periksa tautan referensi ini
sumber
Jatuhkan hak akses root setelah Anda mengikat ke port 80 (atau 443).
Ini memungkinkan port 80/443 tetap terlindungi, sambil tetap mencegah Anda melayani permintaan sebagai root:
Contoh kerja lengkap menggunakan fungsi di atas:
Lihat lebih detail di referensi lengkap ini .
sumber
Untuk port 80 (yang merupakan pertanyaan awal), Daniel benar. Baru-baru ini saya pindah ke
https
dan harus beralih dariiptables
proxy nginx ringan yang mengelola sertifikat SSL. Saya menemukan jawaban yang berguna bersama dengan intisari oleh gabrielhpugliese tentang cara menanganinya. Pada dasarnya sayaMembuat Permintaan Penandatanganan Sertifikat SSL (CSR) melalui OpenSSL
Mengubah
location
di/etc/nginx/conf.d/example_ssl.conf
keMemformat sertifikat untuk nginx dengan
cat
cara menyatukan sertifikat individual dan menautkannya ke dalamexample_ssl.conf
file nginx saya (dan hal-hal yang tidak di-komentar, menyingkirkan 'contoh' dalam nama, ...)Semoga itu bisa menyelamatkan orang lain beberapa sakit kepala. Saya yakin ada cara simpul murni untuk melakukan ini, tetapi nginx cepat dan berhasil.
sumber