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:
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:
).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.
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;
}
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"
/>
<valve classname="org.apache.catalina.valves.remoteipvalve" remoteipheader="x-forwarded-for" protocolheader="x-forwarded-proto" protocolheaderhttpsvalue="https" httpsserverport="8185"/>
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!