Jadual Kandungan
欢迎使用https来访问页面
Rumah Operasi dan penyelenggaraan Nginx Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

May 15, 2023 pm 03:25 PM
nginx ssl https

Andaikan struktur asas nod semasa saya adalah seperti berikut:

|----项目
| |--- static     # 存放html文件
| | |--- index.html  # index.html
| |--- node_modules  # 依赖包
| |--- app.js     # node 入口文件
| |--- package.json 
| |--- .babelrc    # 转换es6文件
Salin selepas log masuk

index.html Kod fail adalah seperti berikut:

<!doctype html>
<html>
<head>
 <meta charset=utf-8>
 <meta name="referrer" content="never">
 <title>nginx配置https</title>
</head>
<body>
 <div>
  <h2 id="欢迎使用https来访问页面">欢迎使用https来访问页面</h2>
 </div>
</body>
</html>
Salin selepas log masuk

app.js Kodnya adalah seperti berikut:

const koa = require(&#39;koa&#39;);
const fs = require(&#39;fs&#39;);
const path = require(&#39;path&#39;);
const router = require(&#39;koa-router&#39;)();
const koabody = require(&#39;koa-body&#39;);
const static = require(&#39;koa-static&#39;);

const app = new koa();

router.get(&#39;/&#39;, (ctx, next) => {
 // 设置头类型, 如果不设置,会直接下载该页面
 ctx.type = &#39;html&#39;;
 // 读取文件
 const pathurl = path.join(__dirname, &#39;/static/index.html&#39;);
 ctx.body = fs.createreadstream(pathurl);
 next();
});

app.use(static(path.join(__dirname)));

app.use(router.routes());
app.use(router.allowedmethods());

app.listen(3001, () => {
 console.log(&#39;server is listen in 3001&#39;);
});
Salin selepas log masuk

package.json Kodnya adalah seperti berikut ;

{
 "name": "uploadandload",
 "version": "1.0.0",
 "description": "",
 "main": "app.js",
 "scripts": {
  "dev": "nodemon ./app.js"
 },
 "author": "",
 "license": "isc",
 "dependencies": {
  "fs": "0.0.1-security",
  "koa": "^2.7.0",
  "koa-body": "^4.1.0",
  "koa-router": "^7.4.0",
  "koa-send": "^5.0.0",
  "koa-static": "^5.0.0",
  "nodemon": "^1.19.0",
  "path": "^0.12.7"
 }
}
Salin selepas log masuk

Kemudian selepas saya melaksanakan npm run dev dalam direktori root projek, saya boleh mengakses http://localhost:3001 dalam penyemak imbas, tetapi jika saya ingin menggunakan nama domain untuk mengaksesnya, kita boleh Mengikat nama domain di bawah fail hos, contohnya, xxx.abc.com Fail hos terikat seperti berikut:

127.0.0.1 xxx.abc.com
Salin selepas log masuk

Jadi di kali ini kita boleh menggunakan http://xxx.abc.com:3001/ untuk mengakses halaman adalah seperti berikut:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Seperti yang ditunjukkan di atas, kita boleh mengakses halaman, tetapi adakah kami mendapati bahawa ia tidak selamat untuk memaparkan permintaan http di bawah penyemak imbas Chrome , jadi pada masa ini saya ingin menggunakan https untuk mengakses, dan keselamatan halaman web adalah terjamin, jika saya tidak melakukan apa-apa pada masa ini dan terus menggunakan https untuk mengakses, ia tidak akan berfungsi Sebagai contoh, alamat: https:/ /xxx.abc.com:3001 Seperti yang ditunjukkan dalam rajah di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Kami tahu bahawa menggunakan https untuk mengakses secara amnya memerlukan sijil keselamatan, jadi tugas semasa kami adalah menggunakan nginx untuk mengkonfigurasi perkara seperti sijil keselamatan, dan kemudian menggunakan https untuk mengakses halaman web untuk mencapai matlamat.

perkhidmatan https konfigurasi nginx

1 mula-mula masukkan direktori nginx dan gunakan arahan: cd /usr/local/etc/nginx. Kemudian buat folder sijil dalam direktori ini untuk menyimpan fail sijil.
Gunakan arahan: mkdir cert seperti berikut:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

2. Kemudian kita perlu menyalin fail berkaitan sijil, seperti fail server.crt dan server.key ke direktori sijil ini. Contohnya, fail sijil berikut:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Mengenai cara sijil di atas bertahan, sila lihat artikel saya sebelum ini

Arahan Move: mv server.key / usr /local/etc/nginx/cert, sebagai contoh, alihkan fail server.key dan server.crt ke direktori /usr/local/etc/nginx/cert. Seperti yang ditunjukkan dalam rajah di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Kemudian kita lihat pada direktori /usr/local/etc/nginx/cert terdapat fail berikut, seperti yang ditunjukkan di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

3. konfigurasi nginx

konfigurasi nginx perlu menambah kod berikut:

server {
 listen    443 ssl;
 server_name  xxx.abc.com;
 ssl on; // 该配置项需要去掉
 ssl_certificate   cert/server.crt;
 ssl_certificate_key cert/server.key;
 /*
  设置ssl/tls会话缓存的类型和大小。如果设置了这个参数一般是shared,buildin可能会参数内存碎片,默认是none,和off差不多,停用缓存。如shared:ssl:10m表示我所有的nginx工作进程共享ssl会话缓存,官网介绍说1m可以存放约4000个sessions。
 */
 ssl_session_cache  shared:ssl:1m;
 // 客户端可以重用会话缓存中ssl参数的过期时间,内网系统默认5分钟太短了,可以设成30m即30分钟甚至4h。
 ssl_session_timeout 5m;

 /*
  选择加密套件,不同的浏览器所支持的套件(和顺序)可能会不同。
  这里指定的是openssl库能够识别的写法,你可以通过 openssl -v cipher &#39;rc4:high:!anull:!md5&#39;(后面是你所指定的套件加密算法) 来看所支持算法。
 */
 ssl_ciphers high:!anull:!md5;

 // 设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。
 ssl_prefer_server_ciphers on;

 location / {
  proxy_pass http://localhost:3001;
 }
}
Salin selepas log masuk

Nota: seperti di atas ssl on; perlu dikeluarkan. Jika ia dikonfigurasikan seperti di atas, saya memulakan semula arahan nginx dan ralat akan dilaporkan seperti berikut:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

ssl: error:06065064:digital envelope routines:evp_decryptfinal_ex:bad decrypt ralat :0906a065:pem routines:pem_do_header:bad nyahsulit serupa dengan ralat ini, dan kemudian cari ralat ini melalui Baidu, kaedah berikut boleh diselesaikan:

Masukkan direktori: cd /usr/local/etc/nginx / sijil dan kemudian laksanakan dua baris kod berikut:

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
Salin selepas log masuk

seperti yang ditunjukkan di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Anda boleh melihat halaman yang dicari oleh Baidu

dan kemudian Apabila saya terus memulakan semula nginx, saya mendapati ralat masih dilaporkan Mesej ralat adalah seperti berikut:

nginx: [amaran] arahan "ssl" ditamatkan, gunakan. arahan "dengar ... ssl" sebaliknya

Kemudian teruskan hidupkan ssl; hanya alih keluar item konfigurasi ini Ia mungkin berkaitan dengan versi nginx

Baru-baru ini nginx 1.15, selepas memuat semula semua tapak dengan ssl saya melaporkan amaran ini, menyemak banyak maklumat, dan akhirnya menemui penjelasan bahasa Inggeris yang berkaitan pada github: ( ) Bahasa Inggeris saya tidak bagus, dan ini mungkin bermakna bahawa nginx 1.15 dan versi yang lebih baru tidak perlu menulis "ssl pada;" lagi.

Pergi ke nginx.conf dan padam ssl pada;

Saya memang salah faham. Saya harus menukar ssl untuk mendengar 443 ssl. Ini betul.

Sekarang saya terus memulakan semula nginx dan ia ok, seperti yang ditunjukkan di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Tetapi selepas konfigurasi di atas, kami tidak boleh terus menggunakan nama domain https :// Selepas melawati xxx.abc.com/, kami juga perlu memasang sijil client.crt yang kami hasilkan sebelum ini dalam penyemak imbas Langkah-langkah di bawah sistem mac adalah seperti berikut:

1 pelancar seperti yang ditunjukkan di bawah. Seperti yang ditunjukkan di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

2. Cari akses rantai kunci dan klik masuk, seperti yang ditunjukkan di bawah

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

3. Masukkan halaman sijil dan letakkan yang sebelumnya Hanya seret sijil client.crt ke dalam sijil Contohnya, sijil client.crt yang saya hasilkan sebelum ini adalah seperti berikut:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

4. Kemudian klik "Tunjukkan Profil" untuk memasuki halaman butiran sijil. Seperti yang ditunjukkan dalam gambar di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

5 Selepas memasuki halaman, apabila menggunakan sijil, pilih Sentiasa Amanah, seperti yang ditunjukkan dalam gambar di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

6 Kemudian keluar Anda mungkin perlu memasukkan kata laluan kuasa komputer Setelah dimasukkan, ia akan disimpan secara automatik. Kemudian kita boleh mengakses halaman https://xxx.abc.com/ dalam penyemak imbas. Seperti yang ditunjukkan di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Kemudian kita klik untuk terus melawat untuk melihat halaman, seperti yang ditunjukkan di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Di atas adalah menggunakan sijil + nginx untuk melaksanakan perkhidmatan https nod tempatan.

Namun, walaupun https di atas boleh diakses, teks tidak selamat masih dipaparkan di hadapan https seperti yang ditunjukkan dalam rajah di bawah:

Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan https

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi sijil SSL nginx untuk melaksanakan perkhidmatan 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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)

Cara mengkonfigurasi nama domain pelayan awan di nginx Cara mengkonfigurasi nama domain pelayan awan di nginx Apr 14, 2025 pm 12:18 PM

Cara mengkonfigurasi nama domain Nginx pada pelayan awan: Buat rekod yang menunjuk ke alamat IP awam pelayan awan. Tambah blok hos maya dalam fail konfigurasi Nginx, menyatakan port pendengaran, nama domain, dan direktori akar laman web. Mulakan semula nginx untuk memohon perubahan. Akses konfigurasi ujian nama domain. Nota Lain: Pasang sijil SSL untuk membolehkan HTTPS, pastikan firewall membenarkan trafik port 80, dan tunggu resolusi DNS berkuatkuasa.

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memeriksa versi nginx Cara memeriksa versi nginx Apr 14, 2025 am 11:57 AM

Kaedah yang boleh menanyakan versi nginx adalah: gunakan perintah nginx -v; Lihat arahan versi dalam fail nginx.conf; Buka halaman ralat Nginx dan lihat tajuk halaman.

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Cara membuat bekas untuk Docker Cara membuat bekas untuk Docker Apr 15, 2025 pm 12:18 PM

Buat bekas di Docker: 1. Tarik Imej: Docker Pull [Nama Cermin] 2. Buat bekas: Docker Run [Options] [Mirror Name] [Command] 3. Mulailah bekas: Docker Start [Nama Container]

Cara Memulakan Bekas oleh Docker Cara Memulakan Bekas oleh Docker Apr 15, 2025 pm 12:27 PM

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

See all articles