Rumah > Operasi dan penyelenggaraan > Nginx > Bagaimana untuk mengkonfigurasi komunikasi selamat HTTPS antara pelayan Nginx dan iOS

Bagaimana untuk mengkonfigurasi komunikasi selamat HTTPS antara pelayan Nginx dan iOS

王林
Lepaskan: 2023-05-28 23:12:45
ke hadapan
1021 orang telah melayarinya

Pengenalan

Dalam komunikasi rangkaian, perisian penangkapan paket boleh digunakan untuk menganalisis permintaan rangkaian dan menjalankan serangan ulangan secara umumnya dengan menggunakan Parameter perubahan, seperti cap masa yang disulitkan rsa, tetapi memandangkan kelewatan penghantaran rangkaian, cap masa perlu mempunyai toleransi ralat tertentu, yang masih tidak dapat menghalang serangan ulangan secara asasnya. Jika anda ingin menyelesaikan masalah serangan ulang dengan lebih baik, anda harus mempertimbangkan untuk menggunakan komunikasi https 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 .

Pelaksanaan

Untuk tapak web yang diakses dengan penyemak imbas, anda perlu memohon sijil daripada ca untuk memastikan laman web https boleh dilayari seperti biasa, jika tidak, anda akan diberi amaran bahawa ia tidak selamat atau Untuk tapak web yang tidak diperakui, untuk penghantaran beberapa data latar belakang, sijil yang ditandatangani sendiri boleh digunakan.

Konfigurasi pelayan

Jana sijil

Lakukan operasi berikut pada baris arahan pelayan

①Untuk menjana kunci peribadi pelayan, anda perlu memasukkan kata laluan 4~8191 digit

openssl genrsa -des3 -out server.key 2048
Salin selepas log masuk

②Untuk mengalih keluar kata laluan fail kunci, anda perlu memasukkan kata laluan yang diisi ①

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

③Janakan fail csr, Langkah ini memerlukan memasukkan pelbagai maklumat Anda boleh menekan Enter untuk melangkau kesemuanya

openssl req -new -key server.key -out server.csr
Salin selepas log masuk

④ Hasilkan fail crt -hari dalam langkah ini diikuti dengan tempoh sah. Anda boleh menulisnya lebih lama

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Salin selepas log masuk

⑤ Gabung Crt dan kunci digunakan untuk membuat pem, yang digunakan untuk menjana cer kemudian untuk pengesahan pelanggan

cat server.crt server.key > server.pem
Salin selepas log masuk

⑥ Gunakan pem untuk menjana cer, dan cer fail disimpan pada klien untuk pengesahan

openssl x509 -in server.pem -outform der -out server.cer
Salin selepas log masuk

2 Ubah suai fail konfigurasi nginx

Jika anda tidak tahu laluan fail konfigurasi, gunakan arahan berikut untuk mencetaknya.

nginx -t
Salin selepas log masuk

Arahan ini boleh digunakan untuk menguji sama ada fail konfigurasi adalah betul dan juga akan mencetak laluan.

Mengikut kandungan yang dicetak, buka nginx.conf dan anda boleh mendapati terdapat teg konfigurasi http { ... } Tambah teg konfigurasi pelayan pada teg http.

server {
listen    443;
server_name localhost;

# 配置网站的根目录和首页的文件名和类型

index index.html index.htm index.php;
root <这里填写网站的根目录>
ssl         on;
ssl_certificate   <这里填写crt文件server.crt的全路径>
ssl_certificate_key <这里填写私钥key文件server.key的全路径>

# 下面是对php的配置,如果不配置,将无法正常解析php文件,这段配置是从nginx对http的80端口配置中复制过来的,如果这段配置不能正常工作,请从自己的服务器对80端口的配置文件中复制过来。

location ~ .*\.(php|php5)?$
{
  #fastcgi_pass unix:/tmp/php-cgi.sock;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
  expires 30d;
}
location ~ .*\.(js|css)?$
{
  expires 1h;
}

# 这里如果不知道如何填写,请参考80端口的配置文件

include <nginx的conf目录路径>/rewrite/default.conf;
access_log <nginx服务器日志的路径>/default.log;
}
Salin selepas log masuk

3. Kemas kini konfigurasi

nginx -t #测试配置文件是否正确
nginx -s reload #重新加载配置文件
Salin selepas log masuk

Pada ketika ini, konfigurasi bahagian pelayan telah tamat.

Konfigurasi pelanggan

Jika ia adalah sijil yang dikeluarkan oleh ca, anda boleh terus menggunakan permintaan https, tetapi kami adalah sijil yang ditandatangani sendiri, jika anda mengaksesnya secara langsung, ralat akan dilaporkan, seperti yang diterangkan di bawah Berikut ialah cara menggunakan afn untuk mengkonfigurasi permintaan https untuk sijil yang ditandatangani sendiri.

1. Import sijil cer yang dinyatakan di atas ke dalam himpunan apl

Bagaimana untuk mengkonfigurasi komunikasi selamat HTTPS antara pelayan Nginx dan iOS

Tukar server.cer Import bundle

2. Sebelum menggunakan afn untuk membuat permintaan, buat konfigurasi berikut

afsecuritypolicy *policy = [afsecuritypolicy policywithpinningmode:afsslpinningmodepublickey];
policy.allowinvalidcertificates = yes;
afhttpsessionmanager *manager = [afhttpsessionmanager manager];
manager.securitypolicy = policy;
// 下面使用manager进行https请求即可。
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi komunikasi selamat HTTPS antara pelayan Nginx dan iOS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan