Cara Menggunakan HTTPS pada Arch Linux Webserver

Prasyarat

  • Pelayan Vultr yang menjalankan Arch Linux terkini (lihat artikel ini .)
  • Seorang pelayan web yang menjalankan, sama ada Apache atau Nginx
  • Akses Sudo
    • Perintah yang dikehendaki dijalankan sebagai root yang diawali oleh #, dan yang dapat dijalankan sebagai pengguna biasa oleh $. Cara yang disyorkan untuk menjalankan arahan sebagai root ialah, sebagai pengguna biasa, awalan masing-masing dengan sudo.
  • Mempunyai editor teks yang dipasang, dan akrab dengannya, seperti vi, vim, nano, emacs atau editor lain yang serupa.

Selamat Melayani Melalui HTTPS

Melayan kandungan melalui HTTPS boleh menggunakan penyulitan yang sangat kuat, jadi tiada siapa yang memintas lalu lintas antara pengguna dan pelayan web boleh membacanya. Ia bukan sahaja menyulitkan lalu lintas itu sendiri, tetapi juga URL yang diakses, yang boleh mendedahkan maklumat. Untuk beberapa waktu, Google telah menentukan peringkat carian sebahagian berdasarkan apakah halaman menggunakan HTTPS, sebagai bagian dari inisiatif HTTPS Everywhere.

Nota : pemeriksaan DNS tidak mendedahkan nama domain yang disambungkan, tetapi keseluruhan URL tidak didedahkan semasa proses tersebut.

Dapatkan Sijil SSL / TLS

Secara teknikal, TLS menggantikan SSL untuk Sijil HTTPS, tetapi, kebanyakan tempat terus memanggil Sijil TLS dengan Sijil SSL istilah yang lebih popular. Setelah penggunaan biasa, panduan ini akan melakukan perkara yang sama.

Untuk menggunakan HTTPS, pelayan web anda memerlukan kunci persendirian ( .key) untuk digunakan secara persendirian dan sijil ( .crt) untuk berkongsi orang awam yang termasuk kunci awam. Sijil mesti ditandatangani. Anda boleh menandatanganinya sendiri, tetapi penyemak imbas moden akan mengadu bahawa mereka tidak mengenali penandatangannya. Sebagai contoh, Chrome akan menunjukkan: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Jika hanya sekumpulan orang yang menggunakan laman web, ini boleh diterima, kerana pelayar akan membenarkan cara untuk meneruskan. Contohnya, pada Chrome, klik "Lanjutan", kemudian "Teruskan ke ... (tidak selamat)"; ia masih akan menunjukkan "Tidak selamat" dan menyeberang "https".

Perhatikan bahawa proses ini akan meminta anda untuk negara, negara bagian / wilayah, wilayah, organisasi, unit organisasi, dan nama umum, dan alamat e-mel anda; semuanya boleh diakses dalam penyemak imbas sesiapa sahaja yang menyambung ke laman web anda melalui HTTPS.

Perhatikan juga bahawa jika anda memberikan sijil hos maya, anda perlu memberikan nama fail yang berbeza di bawah, dan menunjukkannya dalam konfigurasi hos maya anda.

Tukar ke dalam direktori yang sesuai untuk pelayan web anda.

Sekiranya anda memasang Apache:

$ cd /etc/httpd/conf

Jika anda memasang Nginx:

$ cd /etc/nginx

Sekali dalam direktori yang betul, buat kunci peribadi ( server.key) dan sijil ditandatangani sendiri ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Tetapkan kebenaran baca sahaja, dan hanya biarkan kunci peribadi dibaca oleh root:

# chmod 400 server.key
# chmod 444 server.crt

Sebagai alternatif, anda boleh mendapatkan sijil yang ditandatangani oleh pihak berkuasa sijil yang dipercayai. Anda boleh membayar pelbagai syarikat (pihak berkuasa sijil) untuk menandatangani sijil anda untuk anda. Apabila mempertimbangkan pihak berkuasa perakuan, penting untuk melihat pelayar mana dan versi mana yang akan mengenali mereka. Sesetengah pihak berkuasa sijil yang lebih baru mungkin tidak diiktiraf sebagai lebih rasmi daripada sijil ditandatangani sendiri pada versi pelayar lama.

Anda biasanya tidak hanya memerlukan alamat IP awam, tetapi juga nama domain. Beberapa pihak berkuasa sijil dapat mengeluarkan sijil ke alamat IP awam, tetapi jarang dilakukan.

Banyak pembekal menawarkan percubaan 30 hari percuma, yang disarankan untuk dimulakan sehingga anda dapat memastikan prosesnya sesuai untuk anda sebelum anda membayarnya. Harga boleh berubah dari beberapa dolar setahun ke beratus-ratus, bergantung kepada jenis dan pilihannya seperti pelbagai domain atau sub-domain. Sijil standard hanya akan menunjukkan bahawa pihak berkuasa menandatangani telah mengesahkan orang yang memperoleh sijil dapat membuat perubahan pada domain. Sijil Pengesahan Lanjutan juga akan menunjukkan pihak berkuasa menandatangani telah melakukan beberapa usaha wajar untuk memeriksa pemohon dan akan, dalam penyemak imbas moden, menunjukkan bar hijau di dalam atau berhampiran URL. Apabila mengesahkan bahawa anda boleh membuat perubahan pada domain, beberapa pihak berkuasa menandatangani akan meminta anda menerima e-mel pada alamat membunyikan penting di nama domain, seperti[email protected]. Banyak yang menawarkan pengesahan alternatif, seperti memberi anda fail untuk diletakkan di pelayan anda, seperti memasukkan fail mereka /srv/http/.well-known/pki-validation/untuk Apache atau /usr/share/nginx/html/.well-known/pki-validation/Nginx, untuk konfigurasi direktori hosting tunggal; atau buat sementara entri CNAME yang mereka berikan kepada anda dalam rekod DNS domain anda.

Pihak berkuasa menandatangani yang anda pilih mungkin mempunyai langkah yang sedikit berbeza, tetapi kebanyakan akan menerima prosedur berikut:

Dalam direktori yang betul, buat kunci persendirian ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Tetapkan kunci peribadi untuk baca sahaja, hanya dengan root:

# chmod 400 server.key

Hasilkan permintaan menandatangani sijil ( server.csr). Anda mesti meletakkan nama domain anda apabila ia meminta anda untuk Common Name, dan anda boleh meninggalkan kata laluan cabaran kosong:

# openssl req -new -sha256 -key server.key -out server.csr

Tetapkan permintaan penandatanganan sijil ke hanya baca, hanya dengan root:

# chmod 400 server.csr

Lihat kandungan permintaan menandatangani sijil. Maklumat ini base64 dikodkan, jadi akan kelihatan seperti aksara rawak:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

Ikuti proses pihak berkuasa penandatanganan anda, dan apabila diminta untuk menampal CSR anda, salin dan tampal keseluruhan fail ini termasuk -----barisnya. Bergantung kepada pihak berkuasa menandatangani yang anda pilih dan jenis sijil, mereka mungkin akan memberikan sijil yang ditandatangani dengan segera, atau mungkin beberapa hari. Setelah mereka memberi anda sijil yang ditandatangani, salin (termasuk -----BEGIN CERTIFICATE-----dan -----END CERTIFICATE-----baris) ke dalam fail bernama server.crt, di direktori yang betul, yang diberikan di atas untuk pelayan web anda, dan tetapkan ke hanya-baca:

# chmod 444 server.crt

Konfigurasikan Pelayar Web Anda untuk Menggunakan Kunci Peribadi dan Sijil

Sekiranya anda menggunakan firewall, anda perlu mendayakan trafik masuk TCP ke pelabuhan 443.

Untuk Apache

Edit /etc/httpd/conf/httpd.confdan laporkan perkara ini:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

Perhatikan jika anda menggunakan hos maya, membuat perubahan di atas /etc/httpd/conf/httpd.confakan menggunakan sijil yang sama pada semua hos. Untuk memberikan setiap sijil sijilnya sendiri untuk mengelakkan pelayar yang mengadu mengenai sijil yang tidak sepadan dengan nama domain, anda perlu mengedit setiap fail konfigurasi mereka /etc/httpd/conf/vhosts/untuk menunjuk kepada sijil dan kunci persendiriannya sendiri:

  • Tukar <VirtualHost *:80>ke <VirtualHost *:80 *:443>.
  • Dalam VirtualHostbahagian tersebut, tambahkan yang berikut:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Restart Apache:

# systemctl restart httpd

Untuk Nginx

Edit /etc/nginx/nginx.confdan dekat bahagian bawah, uncomment keluar HTTPS serverseksyen dan ubah baris ke yang berikut:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Perhatikan jika anda menggunakan hos maya, membuat perubahan di atas /etc/nginx/nginx.confakan menghantar semua hos ke lokasi tersebut. Untuk memberikan sijil sendiri setiap host, anda perlu mengedit setiap fail konfigurasi mereka /etc/nginx/sites-enabled/untuk mempunyai blok pelayan tambahan untuk menunjuk ke sijil dan kunci persendiriannya sendiri:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Mulakan semula Nginx:

# systemctl restart nginx


Leave a Comment

Sediakan Pelayan Counter-Strike: Global Offensive (CSGO) di Arch Linux

Sediakan Pelayan Counter-Strike: Global Offensive (CSGO) di Arch Linux

Tutorial ini menerangkan cara menyediakan Counter-Strike: Pelayan Serangan Global di Arch Linux. Tutorial ini menganggap bahawa anda log masuk dengan penggunaan biasa

Cara Memasang MongoDB 4.0 pada Arch Linux

Cara Memasang MongoDB 4.0 pada Arch Linux

Prasyarat Pelayan Vultr yang berjalan sehingga Arch Linux terkini (lihat artikel ini) Akses Sudo: Perintah yang diperlukan untuk dijalankan sebagai root diawali oleh #, dan satu

Sediakan Mumble Server pada Arch Linux

Sediakan Mumble Server pada Arch Linux

Tutorial ini menerangkan cara menyediakan pelayan Mumble (Murmur) di Arch Linux. Semua yang dilakukan dalam tutorial ini dilakukan sebagai pengguna root. Pemasangan sebuah

Memasang Arch Linux Pada Pelayan Vultr

Memasang Arch Linux Pada Pelayan Vultr

Vultr menyediakan fungsi hebat untuk membolehkan anda menggunakan gambar tersuai anda sendiri selain templatnya yang sangat baik, yang membolehkan anda menjalankan

Sediakan Pelayan Team Fortress 2 di Arch Linux

Sediakan Pelayan Team Fortress 2 di Arch Linux

Tutorial ini menerangkan cara menyediakan pelayan Team Fortress 2 di Arch Linux. Saya menganggap bahawa anda log masuk dengan akaun pengguna bukan root yang mempunyai akses sudo

Cara Memasang Perl 5.28 pada Pelayan Web Arch Linux

Cara Memasang Perl 5.28 pada Pelayan Web Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux (lihat artikel ini.) Pelayar web yang menjalankan, sama ada akses Apache atau Nginx Sudo: Perintah memerlukan

Sediakan Spigot Server pada Arch Linux

Sediakan Spigot Server pada Arch Linux

Tutorial ini menerangkan cara menyediakan pelayan Minecraft menggunakan Spigot di Arch Linux. Tutorial ini menganggap bahawa anda adalah pengguna biasa (bukan root) dan mempunyai

Bagaimana untuk Memasang PHP 7.3 pada Webserver Arch Linux

Bagaimana untuk Memasang PHP 7.3 pada Webserver Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux (lihat artikel ini.) Pelayar web yang menjalankan, sama ada akses Apache atau Nginx Sudo. Perintah memerlukan

Membangunkan Pakej pada Arch Linux (Termasuk AUR)

Membangunkan Pakej pada Arch Linux (Termasuk AUR)

Di Arch Linux, repositori rasmi adalah: teras, tambahan dan komuniti. Pakej-pakej ini telah disusun, dan mereka dipasang melalui pacman. Untuk th

Pasang Arch Linux Dengan Btrfs Snapshotting

Pasang Arch Linux Dengan Btrfs Snapshotting

Preface Arch Linux adalah sebaran tujuan umum yang terkenal dengan teknologi canggih dan konfigurasi yang fleksibel. Dengan snapshot Btrfs, kita dapat mengambil

Cara Pasang Nginx 1.14 Pada Arch Linux

Cara Pasang Nginx 1.14 Pada Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux (lihat artikel ini.) Akses Sudo. Perintah yang diperlukan untuk dijalankan sebagai root adalah diawali oleh #. Th

Memasang 2019 Arch Linux pada Pelayan Vultr

Memasang 2019 Arch Linux pada Pelayan Vultr

Pengenalan Arch Linux mempunyai lebih kecil, tetapi masih kuat, berikutan daripada pengedaran yang lebih popular. Falsafahnya agak berbeza, dengan kelebihannya

Menggunakan Makepkg di Arch Linux

Menggunakan Makepkg di Arch Linux

Jika anda menggunakan makepkg secara langsung, ia mencemarkan sistem anda. Kumpulan pakej base-devel mesti dipasang. Dengan cara ini, secara lalai, kebergantungan diperlukan onl

Bagaimana Untuk Memasang Python 3.7 Pada Webserver Arch Arch Linux

Bagaimana Untuk Memasang Python 3.7 Pada Webserver Arch Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux (lihat artikel ini.) Pelayar web yang menjalankan, sama ada akses Apache atau Nginx Sudo: Perintah memerlukan

Cara Memasang MariaDB 10.3 atau MySQL 8.0 pada Arch Linux

Cara Memasang MariaDB 10.3 atau MySQL 8.0 pada Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux (lihat artikel ini.) Akses Sudo: Perintah yang diperlukan untuk dijalankan sebagai root diawali oleh #, dan satu

Cara Memasang Apache 2.4 pada Arch Linux

Cara Memasang Apache 2.4 pada Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux. Lihat panduan ini untuk mendapatkan maklumat lanjut. Akses Sudo. Perintah perlu dijalankan sebagai root ar

Menggunakan Devtools di Arch Linux

Menggunakan Devtools di Arch Linux

Pakej Devtools pada asalnya dibuat untuk Pengguna yang Dipercayai untuk membuat pakej dengan betul untuk repositori rasmi. Bagaimanapun, ia boleh digunakan oleh pengguna biasa

Cara Pasang PostgreSQL 11.1 Di Arch Linux

Cara Pasang PostgreSQL 11.1 Di Arch Linux

Prasyarat Pelayan Vultr berjalan dengan up to date Arch Linux (lihat artikel ini.) Akses Sudo. Perintah yang dikehendaki dijalankan sebagai root dipersetujui oleh #, dan satu

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut