Bagaimana untuk mengkonfigurasi sijil SSL Nginx untuk mencapai akses HTTPS

PHPz
Lepaskan: 2023-05-12 15:07:12
ke hadapan
1319 orang telah melayarinya

Latar Belakang

Disebabkan keperluan projek dan sebab keselamatan, adalah perlu untuk menukar akses antara muka http sebelumnya kepada akses https, jadi sijil SSL perlu dikonfigurasikan. Seni bina projek adalah seperti ini:

Bagaimana untuk mengkonfigurasi sijil SSL Nginx untuk mencapai akses HTTPS

Seni bina asas ialah beban keras (dibaca di mana) + beban lembut (nginx) + kelompok tomcat bahawa sijil SSL diperlukan Di manakah ia dikonfigurasikan secara langsung pada beban keras? Atau konfigurasikannya pada nginx dan tomcat masing-masing? Atau adakah terdapat kaedah konfigurasi lain?

Pertama sekali, saya berhenti mengkonfigurasi beban keras, dan kemudian dengan mencari maklumat di Internet, saya mendapati bahawa saya hanya boleh mengkonfigurasi sijil pada nginx, yang bermaksud bahawa nginx menggunakan https untuk akses, dan nginx dan tomcat menggunakan http untuk sambungan Ini memberi anda idea keseluruhan.

Mengenai sijil ssl

Mengenai sijil ssl diperkenalkan secara ringkas di sini, dan ia juga kerana keperluan projek yang saya mempunyai pemahaman ringkas.

Sijil SSL dibahagikan secara kasar kepada tiga jenis, tahap domain (dv), tahap perusahaan (ov), dan tahap dipertingkat (ev), dengan keselamatan dan harga meningkat mengikut urutan. Pilih mengikut keperluan anda sendiri Untuk kegunaan peribadi, anda boleh menggunakan dv, yang murah untuk kegunaan korporat, ov biasanya digunakan, dan ev digunakan dalam keadaan khusus.

skonfigurasi sijil sl

Oleh kerana sokongan nginx untuk konfigurasi sijil ssl membolehkan pelaksanaan ini, saya perlu merungut kekuatan nginx.

Penyediaan sijil

konfigurasi nginx memerlukan sijil .pem/.crt + kunci rahsia .key Jika anda mempunyai bentuk sijil lain, sila ikut arahan yang berkaitan Tukar kepada jenis sijil yang diperlukan, jika tidak, konfigurasi sijil tidak dapat dilengkapkan. Secara amnya, pedagang yang membeli akan mempunyai alat penukaran yang sepadan.

Setelah anda bersedia, letakkan sijil dan kunci rahsia dalam direktori conf nginx (iaitu, dalam direktori yang sama dengan fail konfigurasi nginx.conf Perhatian khusus harus diberikan di sini:

).
  1. Jika ia dikonfigurasikan di bawah sistem Linux, ia sudah sedia; fail perlu dialih keluar. Jika tidak, nginx tidak akan bermula selepas konfigurasi Ini adalah pit Saya terperangkap di sini juga sangat mudah openssl rsa. -in server.key -out server2.key, server2.key yang dihasilkan ialah fail kunci rahsia yang diperlukan untuk konfigurasi, tetapi nama fail perlu ditukar kepada server.key.

  2. Ubah suai fail konfigurasi nginx

Yang berikut ialah sebahagian daripada fail konfigurasi nginx.conf saya Port ini bukan 443 lalai, tetapi berubah Ia menjadi 8185. Hanya ubah suai mengikut keperluan anda pada asasnya adalah seperti berikut dan tidak akan ada masalah.

server {
    listen    8185;
    server_name localhost; 
    ssl         on; 
    ssl_certificate   server.pem; 
    ssl_certificate_key server.key; 
    ssl_session_timeout 5m;
    ssl_protocols tlsv1 tlsv1.1 tlsv1.2;
    ssl_ciphers high:!rc4:!md5:!anull:!enull:!null:!dh:!edh:!exp:+medium; 
    ssl_prefer_server_ciphers  on;

    location / {
      proxy_set_header host $host:$server_port; 
      proxy_set_header x-real-ip $remote_addr; 
      proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; 
      proxy_set_header x-forwarded-proto $scheme;
      proxy_connect_timeout  5;
      proxy_send_timeout   5;
      proxy_read_timeout   5; 
      proxy_pass http://qlddm_server;
    }
Salin selepas log masuk

Ubah suai fail konfigurasi tomcat

Walaupun tidak perlu mengkonfigurasi sijil dalam tomcat, anda masih perlu mengubah suai fail konfigurasi tomcat server.xml, yang secara khusus merangkumi dua tempat :

<connector 
    executor="tomcatthreadpool"
    port="7083" 
    protocol="org.apache.coyote.http11.http11nio2protocol" 
    connectiontimeout="20000" 
    maxconnections="8000" 
    redirectport="8185" 
    proxyport="8185"
    enablelookups="false" 
    acceptcount="100" 
    maxpostsize="10485760" 
    compression="on" 
    disableuploadtimeout="true" 
    compressionminsize="2048" 
    acceptorthreadcount="2" 
    compressablemimetype="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" 
    uriencoding="utf-8"
  />
Salin selepas log masuk
Anda perlu mengubah suai kedua-dua redirectport dan proxyport ke nombor port mendengar nginx anda.

<valve classname="org.apache.catalina.valves.remoteipvalve"
       remoteipheader="x-forwarded-for"
       protocolheader="x-forwarded-proto"
       protocolheaderhttpsvalue="https" httpsserverport="8185"/>
Salin selepas log masuk

Anda perlu menambah teg nilai di atas. Harap maklum bahawa httpsserverport juga perlu diubah suai kepada nombor port mendengar nginx.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi sijil SSL Nginx untuk mencapai akses HTTPS. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!