Maison >Opération et maintenance >Nginx >Comment configurer le certificat SSL Nginx pour obtenir un accès HTTPS
Background
En raison des exigences du projet et des raisons de sécurité, il est nécessaire de modifier l'accès précédent à l'interface http en accès https, un certificat SSL doit donc être configuré. L'architecture du projet est la suivante :
L'architecture de base est hardload (readwhere) + softload (nginx) + tomcat cluster, maintenant La question est de savoir où configurer le certificat SSL, directement sur le hardload ? Ou le configurer respectivement sur nginx et tomcat ? Ou existe-t-il une autre méthode de configuration ?
Tout d'abord, j'ai renoncé à configurer le hardload, et puis en cherchant des informations sur Internet, j'ai découvert que je ne peux configurer le certificat que sur nginx, ce qui veut dire que l'accès nginx utilise https, et nginx et tomcat utilisent http Connect, afin de se faire une idée globale.
À propos du certificat SSL
À propos du certificat SSL voici une brève introduction, et c'est aussi à cause des besoins du projet que j'ai une brève compréhension.
Les certificats SSL sont grossièrement divisés en trois types : niveau domaine (dv), niveau entreprise (ov) et niveau amélioré (ev), la sécurité et le prix augmentant dans l'ordre. Choisissez en fonction de vos propres besoins. Pour un usage personnel, vous pouvez utiliser dv, qui est bon marché ; pour un usage professionnel, ov est généralement utilisé et ev est utilisé dans des circonstances particulières.
sconfiguration du certificat sl
Cette implémentation est possible grâce à la prise en charge par nginx de la configuration du certificat ssl. devient possible, et je dois déplorer la puissance de nginx.
Préparation du certificat
La configuration nginx nécessite un certificat .pem/.crt + une clé secrète .key, si vous avez d'autres formulaires maintenant Certificat, veuillez suivez les instructions pertinentes pour le convertir dans le type de certificat requis, sinon la configuration du certificat ne pourra pas être terminée. Généralement, les commerçants acheteurs disposeront des outils de conversion correspondants.
Une fois que vous êtes prêt, placez le certificat et la clé secrète dans le répertoire conf de nginx (c'est-à-dire dans le même répertoire que le fichier de configuration nginx.conf). Une attention particulière doit être portée ici :
# 🎜🎜#Modifier le fichier de configuration nginx
Ce qui suit fait partie de mon fichier de configuration nginx.conf, le port est obsédé par le non-utilisation du 443 par défaut, mais changez-le en 8185. Modifiez-le simplement en fonction de vos besoins. Les autres configurations sont essentiellement les suivantes et il n'y aura aucun problème.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; }
Modifier le fichier de configuration Tomcat
Bien qu'il ne soit pas nécessaire de configurer le certificat dans Tomcat, vous devez toujours modifier la configuration de Tomcat fichier de configuration server.xml, comprenant spécifiquement deux endroits :<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" />Vous devez modifier à la fois le redirectport et le proxyport en votre numéro de port d'écoute nginx.
<valve classname="org.apache.catalina.valves.remoteipvalve" remoteipheader="x-forwarded-for" protocolheader="x-forwarded-proto" protocolheaderhttpsvalue="https" httpsserverport="8185"/>Vous devez ajouter les balises de valeur ci-dessus. Notez que httpsserverport doit également être modifié par le numéro de port d'écoute nginx.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!