Rumah Operasi dan penyelenggaraan Nginx Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

May 16, 2023 pm 03:49 PM
nginx https

1. Pengenalan

Protokol Pemindahan Hiperteks Protokol http digunakan untuk memindahkan maklumat antara pelayar web dan pelayan laman web Protokol http menghantar kandungan dalam teks yang jelas dan tidak memberikan sebarang Jika penyerang memintas mesej penghantaran antara pelayar web dan pelayan laman web, dia boleh terus membaca maklumat

Oleh itu, protokol http tidak sesuai untuk menghantar beberapa maklumat sensitif, seperti : Nombor kad kredit, kata laluan. dan maklumat pembayaran lain,

Untuk menyelesaikan kecacatan protokol http ini, protokol lain perlu digunakan: Secure Socket Layer Hypertext Transfer Protocol https Untuk keselamatan penghantaran data, https berada dalam protokol SSL ditambahkan pada HTTP bergantung pada sijil untuk mengesahkan identiti pelayan dan menyulitkan komunikasi antara penyemak imbas dan pelayan.

2. Kelebihan https

Walaupun https tidak selamat sepenuhnya Institusi yang menguasai sijil akar dan organisasi yang menguasai algoritma penyulitan juga boleh menjalankan man-in-. serangan tengah, tetapi https Ia masih merupakan penyelesaian paling selamat di bawah seni bina semasa dan mempunyai faedah utama berikut:

(1) Menggunakan protokol https boleh mengesahkan pengguna dan pelayan untuk memastikan data dihantar ke klien dan pelayan yang betul;

(2) Protokol https ialah protokol rangkaian yang dibina daripada protokol ssl+http yang boleh melakukan penghantaran yang disulitkan dan pengesahan identiti Ia lebih selamat daripada protokol http dan boleh menghalang data daripada dicuri atau diubah semasa proses penghantaran, memastikan integriti data.

(3) https ialah penyelesaian yang paling selamat di bawah seni bina semasa Walaupun ia tidak benar-benar selamat, ia meningkatkan kos serangan man-in-the-middle.

(4) Google melaraskan algoritma enjin cariannya pada Ogos 2014 dan menyatakan bahawa "berbanding dengan tapak web http yang setara, tapak web yang menggunakan penyulitan https akan mendapat kedudukan yang lebih tinggi dalam hasil carian."

3. Kelemahan https

Walaupun https mempunyai kelebihan yang besar, secara relatifnya, ia masih mempunyai kekurangan:

(1) Fasa jabat tangan protokol https memakan masa, yang akan memanjangkan masa memuatkan halaman sebanyak hampir 50% dan meningkatkan penggunaan kuasa sebanyak 10% hingga 20%

(2) Caching sambungan https tidak secekap http, yang akan meningkatkan overhed Data dan penggunaan kuasa, malah langkah keselamatan yang sedia ada akan terjejas; laman web peribadi dan laman web kecil tidak akan menggunakannya.

(4) Sijil SSL biasanya perlu diikat kepada IP Berbilang nama domain tidak boleh terikat pada sumber IPv4 yang sama.

(5) Skop penyulitan protokol https juga agak terhad, dan ia mempunyai sedikit kesan terhadap serangan penggodam, penafian serangan perkhidmatan, rampasan pelayan, dll. Perkara yang paling kritikal ialah sistem rantaian kredit sijil SSL tidak selamat, terutamanya apabila sesetengah negara boleh mengawal sijil akar CA, serangan man-in-the-middle juga boleh dilaksanakan.

4. Muat turun certbot

Gunakan git untuk memuat turunnya di sini Jika anda belum memasang git lagi, semak cara menukar

DirektoriBagaimana untuk mengkonfigurasi nginx untuk menyokong https

cd /usr/local

Klon repositori git

git clone https: // github.com/certbot/certbot.git

Selepas pengklonan selesai, direktori certbot akan muncul dalam /usr/loca/

<>

5. Lihat certbot

Tukar ke direktori certbot

cd /usr/local/certbot

Jika direktori seperti ini, pemasangan berjaya

Arahan biasa untuk certbotBagaimana untuk mengkonfigurasi nginx untuk menyokong https

6

Pasang nginx

7 Mohon untuk sijil https

Lihat semasa. sijil

./certbot-auto certificates

Pelaksanaan pertama akan memasang beberapa tanggungan Terdapat pertanyaan pengesahan di tengah, masukkan y untuk mula memohon sijil

(sijil itu sah selama 3 bulan, dan ia. perlu digunakan semula apabila ia tamat tempoh) Kaedah 1: Gunakan kaedah dns untuk mengesahkan, kaedah ini memerlukan anda untuk mengkonfigurasi nama domain, saya secara peribadi menyukainya Dengan cara ini./certbot-auto --server https://acme- v02.api.letsencrypt.org/directory -d Nama domain anda --manual --preferred-challenges dns-01 certonly Contohnya:

Konfigurasikan nama domain generik

Salin kod The kod adalah seperti berikut:

./certbot-auto --server https: // acme-v02.api.letsencrypt.org/directory -d *.nl166 com --manual --preferred-challenges dns -01 certonly

Konfigurasikan nama domain yang ditentukan

Salin kod Kod adalah seperti berikut:

./certbot-auto --server https: / /acme-v02. api.letsencrypt.org/directory -d api.nl166.com --manual --preferred-challenges dns-01 certonly

Konfigurasikan nama domain generik peringkat kedua

Salin kod Kod adalah seperti berikut:

./certbot-auto --server https: // acme-v02.api.letsencrypt.org/directory -d *.api.nl166.com --manual --preferred-challenges dns -01 certonly

Seperti yang ditunjukkan dalam gambar di atas, anda akan diminta untuk memasukkan alamat e-mel untuk kali pertama. Hanya masukkannya seperti yang diperlukan dihantar kepada anda apabila tiba masanya Klik untuk mengesahkan alamat e-mel, jadi pastikan anda mengisi alamat e-mel sebenar, dan kemudian sahkan seperti yang diperlukan. Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

接下来会让你验证域名,按要求解析个txt类型的记录

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

保存确认以后再回到服务器中确认

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

上面这两个文件就是配置https用到的证书了

方式二:使用插件方式

我们先看看官方怎么说的

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

这里我使用的是nginx(申请完会自动帮你重启nginx) 这种方式配置不了泛域名,只能一个一个添加

./certbot-auto --nginx -d api2.nl166.com

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

解决上述报错,请注意,/usr/local/nginx 请替换为你的nginx实际安装位置安装lnmp

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

ln -s /usr/local/nginx/conf/ /etc/nginx

再次执行申请

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

中途会询问你请选择是否将http流量重定向到https,删除http访问。可根据自己的需求选择,我这里是c取消选择(实际上这一步可以直接不理,经测试,这一步没有选择前,访问网址https已经可以访问了。)

如果想省略询问这一步,可以添加certonly 该种方式只会生成证书,不做其余操作,证书配置需要自己手动添加 如下:

./certbot-auto certonly --nginx -d api2.nl166.com

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

如上图所示,如果你配置了监听443端口的server,他会帮你自动找到对应域名的配置文件,并添加下面两行,还把我格式打乱了,}号与上面{的缩进不对应了,不过不影响功能,这里不知道会不会根据nginx的版本选择是否添加ssl on;

因为我这个nginx版本是不需要这个的,较低版本需要添加ssl on;才能开启https访问。

如没有监听该域名的443端口,则会在如下位置添加信息

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

其他方式请自行摸索

8、配置nginx支持https

# https server
 #
 server {
 listen 443 ssl;
 server_name api2.nl166.com;
 root /data/web/im.nl166.com;

 location / {
 index index.php;
 }

 #auth_basic "hello world";
 #auth_basic_user_file /usr/local/nginx/conf/auth/nl166.auth;

 location ~ \.php$ {
 include fastcgi_params;
 fastcgi_pass unix:/tmp/php-fcgi.sock;
 fastcgi_index index.php;
 fastcgi_param script_filename $document_root$fastcgi_script_name;
 }
 location ~ .*.(svn|git|cvs) {
 deny all;
 }

 ssl_certificate /etc/letsencrypt/live/api2.nl166.com/fullchain.pem; # managed by certbot
 ssl_certificate_key /etc/letsencrypt/live/api2.nl166.com/privkey.pem; # managed by certbot
 }

较低版本需要增加ssl on;才能开启https访问。

9、使用shell脚本与定时任务定时续期证书

注意:为避免遇到操作次数的限制,加入 --dry-run 参数,可以避免操作限制,等执行无误后,再去掉进行真实的renew 操作。 方式一的续期

其中域名为/etc/letsencrypt/renewal/目录下的****.conf ,****就是你要填写的域名,比如我生成的时候是*.nl166.com,但是在实际生成的时候是没有*号的

/home/certbot-sh/au.sh 替换成你自己更新dns的脚本

如下:

复制代码 代码如下:

./certbot-auto renew --cert-name nl166.com --manual-auth-hook /data/shell/crontab/auto_update_httpscert. sh --dry-run

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

把更新命令放到一个文件,我这里是放在了/data/shell/crontab/auto_update_httpscert.sh 内容如下 ,原来的auto_update_httpscert.sh 更改到/data/shell/cnl_update_httpscert.sh

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

增加系统定时任务

crontab -e

#每个星期天凌晨5点执行更新https证书操作

0 5 * * 0 sh /data/shell/crontab/auto_update_httpscert.sh

方式二的续期 如下:

./certbot-auto certonly --renew-by-default --nginx -d api2.nl166.com --dry-run

Bagaimana untuk mengkonfigurasi nginx untuk menyokong https

增加系统定时任务操作参考方式一

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi nginx untuk menyokong https. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1527
276
Bagaimana cara melaksanakan kod PHP selepas menulis kod PHP? Beberapa cara biasa untuk melaksanakan kod php Bagaimana cara melaksanakan kod PHP selepas menulis kod PHP? Beberapa cara biasa untuk melaksanakan kod php May 23, 2025 pm 08:33 PM

Kod PHP boleh dilaksanakan dengan banyak cara: 1. Gunakan baris arahan untuk terus memasukkan "nama fail php" untuk melaksanakan skrip; 2. Masukkan fail ke dalam direktori root dokumen dan mengaksesnya melalui penyemak imbas melalui pelayan web; 3. Jalankannya dalam IDE dan gunakan alat debugging terbina dalam; 4. Gunakan kotak pasir PHP dalam talian atau platform pelaksanaan kod untuk ujian.

Setelah memasang nginx, laluan fail konfigurasi dan tetapan awal Setelah memasang nginx, laluan fail konfigurasi dan tetapan awal May 16, 2025 pm 10:54 PM

Memahami laluan fail konfigurasi Nginx dan tetapan awal sangat penting kerana ia adalah langkah pertama dalam mengoptimumkan dan menguruskan pelayan web. 1) Laluan fail konfigurasi biasanya /etc/nginx/nginx.conf. Sintaks boleh didapati dan diuji menggunakan arahan NGINX-T. 2) Tetapan awal termasuk tetapan global (seperti pengguna, worker_processes) dan tetapan HTTP (seperti termasuk, log_format). Tetapan ini membolehkan penyesuaian dan lanjutan mengikut keperluan. Konfigurasi yang salah boleh membawa kepada isu prestasi dan kelemahan keselamatan.

Bagaimana untuk mengehadkan sumber pengguna di Linux? Bagaimana cara mengkonfigurasi ULIMIT? Bagaimana untuk mengehadkan sumber pengguna di Linux? Bagaimana cara mengkonfigurasi ULIMIT? May 29, 2025 pm 11:09 PM

Sistem Linux mengehadkan sumber pengguna melalui perintah ULIMIT untuk mengelakkan penggunaan sumber yang berlebihan. 1.Ulimit adalah arahan shell terbina dalam yang boleh mengehadkan bilangan deskriptor fail (-N), saiz memori (-V), kiraan thread (-u), dan lain-lain, yang dibahagikan kepada had lembut (nilai berkesan semasa) dan had keras (had atas maksimum). 2. Gunakan perintah ULIMIT secara langsung untuk pengubahsuaian sementara, seperti ULIMIT-N2048, tetapi hanya sah untuk sesi semasa. 3. Untuk kesan tetap, anda perlu mengubah suai /etc/security/limits.conf dan fail konfigurasi PAM, dan tambah sessionrequiredpam_limits.so. 4. Perkhidmatan SystemD perlu menetapkan LIM dalam fail unit

Apakah kemahiran konfigurasi Debian Nginx? Apakah kemahiran konfigurasi Debian Nginx? May 29, 2025 pm 11:06 PM

Apabila mengkonfigurasi Nginx pada sistem Debian, berikut adalah beberapa petua praktikal: struktur asas fail konfigurasi Global Fail: Tentukan parameter tingkah laku yang mempengaruhi keseluruhan perkhidmatan Nginx, seperti bilangan thread pekerja dan kebenaran pengguna yang sedang berjalan. Bahagian Pengendalian Acara: Memutuskan bagaimana Nginx berurusan dengan sambungan rangkaian adalah konfigurasi utama untuk meningkatkan prestasi. Bahagian Perkhidmatan HTTP: Mengandungi sejumlah besar tetapan yang berkaitan dengan perkhidmatan HTTP, dan boleh membenamkan beberapa pelayan dan blok lokasi. Pilihan Konfigurasi Teras Worker_Connections: Tentukan bilangan maksimum sambungan yang setiap thread pekerja boleh mengendalikan, biasanya ditetapkan ke 1024. Multi_accept: Aktifkan mod penerimaan pelbagai sambungan dan tingkatkan keupayaan pemprosesan serentak. s

Langkah-langkah khusus untuk mengkonfigurasi Sendiri Perkhidmatan Nginx Langkah-langkah khusus untuk mengkonfigurasi Sendiri Perkhidmatan Nginx May 16, 2025 pm 10:39 PM

Langkah -langkah untuk memulakan konfigurasi nginx adalah seperti berikut: 1. Buat fail perkhidmatan Systemd: Sudonano/etc/SystemD/System/nginx.service, dan tambah konfigurasi yang relevan. 2. Muat semula konfigurasi Systemd: SudosystemCtldaemon-Reload. 3. Dayakan Nginx untuk boot secara automatik: sudosystemctlenablenginx. Melalui langkah -langkah ini, NGINX akan dijalankan secara automatik apabila sistem dimulakan, memastikan kebolehpercayaan dan pengalaman pengguna laman web atau aplikasi.

Konfigurasikan PHPStorm dan persekitaran pembangunan kontena Docker Konfigurasikan PHPStorm dan persekitaran pembangunan kontena Docker May 20, 2025 pm 07:54 PM

Melalui teknologi kontena Docker, pemaju PHP boleh menggunakan PHPStorm untuk meningkatkan kecekapan pembangunan dan konsistensi alam sekitar. Langkah -langkah khusus termasuk: 1. Buat Dockerfile untuk menentukan persekitaran PHP; 2. Konfigurasikan sambungan Docker dalam phpStorm; 3. Buat fail DockerCompose untuk menentukan perkhidmatan; 4. Konfigurasikan penterjemah PHP jauh. Kelebihannya adalah konsistensi alam sekitar yang kuat, dan kelemahannya termasuk masa permulaan yang panjang dan debugging kompleks.

Apakah teknik pengoptimuman SEO untuk debian apache2? Apakah teknik pengoptimuman SEO untuk debian apache2? May 28, 2025 pm 05:03 PM

Kemahiran pengoptimuman SEO Debianapache2 meliputi pelbagai peringkat. Berikut adalah beberapa kaedah utama: Penyelidikan Kata Kunci: Gunakan alat (seperti Alat Magic Kata Kunci) untuk melombong kata kunci teras dan tambahan halaman. Penciptaan Kandungan Berkualiti Tinggi: Menghasilkan kandungan yang berharga dan asli, dan kandungan perlu dijalankan penyelidikan mendalam untuk memastikan bahasa yang lancar dan format yang jelas. Susun atur kandungan dan Pengoptimuman Struktur: Gunakan tajuk dan sari kata untuk membimbing bacaan. Tulis perenggan dan ayat yang ringkas dan jelas. Gunakan senarai untuk memaparkan maklumat utama. Menggabungkan multimedia seperti gambar dan video untuk meningkatkan ekspresi. Reka bentuk kosong meningkatkan bacaan teks. Tahap Teknikal Penambahbaikan SEO: Robots.txt Fail: Menentukan hak akses crawler enjin carian. Mempercepatkan Laman Web Memuat: Dioptimumkan dengan bantuan mekanisme caching dan konfigurasi Apache

Cara melaksanakan penggunaan automatik Docker di Debian Cara melaksanakan penggunaan automatik Docker di Debian May 28, 2025 pm 04:33 PM

Melaksanakan penggunaan automatik Docker pada sistem Debian boleh dilakukan dengan pelbagai cara. Here are the detailed steps guide: 1. Install Docker First, make sure your Debian system remains up to date: sudoaptupdatesudoaptupgrade-y Next, install the necessary software packages to support APT access to the repository via HTTPS: sudoaptinstallapt-transport-httpsca-certificatecurlsoftware-properties-common-y Import the official GPG key of Docker: curl-

See all articles