Maison > Opération et maintenance > Nginx > Comment configurer le serveur Nginx https

Comment configurer le serveur Nginx https

WBOY
Libérer: 2023-05-23 11:01:06
avant
1582 Les gens l'ont consulté

Demander un certificat

Il existe actuellement de nombreuses organisations en ligne qui fournissent des certificats SSL personnels gratuits, avec des périodes de validité allant de quelques mois à quelques années. Prenons l'exemple de startssl : https://www.startssl.com. Après une demande réussie, il sera valable 3 ans et pourra être renouvelé gratuitement après expiration.

Le processus de candidature spécifique est également très simple.

Après vous être inscrit et connecté, sélectionnez Assistant de certificats > Certificat SSL dv pour demander un certificat SSL gratuit.

Après avoir vérifié le nom de domaine par e-mail, générez ensuite le csr du certificat SSL sur votre propre serveur, N'oubliez pas le secret de l'entrée générée, puis utilisez :

openssl req -newkey rsa:2048 -keyout weizhimiao.cn.key -out weizhimiao.cn.csr
Copier après la connexion

Mettez le certificat généré dans le répertoire spécifié où le le certificat est stocké, tel que /data/secret/. Affichez le contenu du certificat weizhimiao.csr, copiez le contenu dans la section de demande de signature de certificat (csr) de la page et soumettez la page. /data/secret/ 。查看证书 weizhimiao.csr 内容,将内容复制到页面中的 certificate signing request (csr)部分,提交页面。

下载生成好的证书,选择对应的web服务器(nginx,1_weizhimiao.cn_bundle.crt),这样私钥和公钥我们就都有了。

  • 1_weizhimiao.cn_bundle.crt(公钥)

  • weizhimiao.cn.key(私钥)

nginx配置(为指定域名增加https)

nginx.conf当前配置

...
http {
 ...
 include /etc/nginx/conf.d/*.conf;

 server {
  ...
 }
}
Copier après la connexion

./conf.d/weizhimiao.cn.conf中加入

server{
 listen 443 ssl;
 server_name weizhimiao.cn;

 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key;
 ssl_prefer_server_ciphers on;
 ssl_protocols tlsv1 tlsv1.1 tlsv1.2;

 ssl_ciphers 'keecdh+ecdsa+aes128 keecdh+ecdsa+aes256 keecdh+aes128 keecdh+aes256 kedh+aes128 kedh+aes256 des-cbc3-sha +sha !anull !enull !low !md5 !exp !dss !psk !srp !kecdh !camellia !rc4 !seed';

 add_header strict-transport-security 'max-age=31536000; preload';
 add_header x-frame-options deny;
 ssl_session_cache shared:ssl:10m;
 ssl_session_timeout 10m;
 keepalive_timeout 70;
 ssl_dhparam /data/secret/dhparam.pem;

 add_header x-content-type-options nosniff;

 add_header x-xss-protection 1;

 root /data/www/weizhimiao.cn;
 index index.html;

 location / {

 }
}
Copier après la connexion

注:

配置中用到一个 /data/secret/dhparam.pem 文件,该文件是一个pem格式的密钥文件,用于tls会话中。用来加强ssl的安全性。生成该文件方法,

cd /data/secret/
openssl dhparam 2048 -out dhparam.pem
Copier après la connexion

将原来80端口的访问,重定向。./conf.d/weizhimiao.cn.conf中加入

server{
 listen 80;
 server_name weizhimiao.cn;
 return 301 https://weizhimiao.cn$request_uri;
}
Copier après la connexion

测试

检测配置文件是否有语法错误,需要输入之前生成公钥时输入的密码。

nginx -t
enter pem pass phrase:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Copier après la connexion

重启nginx(切记,reload不起作用)

nginx -s stop
enter pem pass phrase:
nginx
enter pem pass phrase:
Copier après la connexion

浏览器访问 weizhimiao.cn ,是否生效。

另,nginx配置了安全证书之后,nginx每次的reload、stop等操作都需要输入密码。

可以通过生成一个解密的key文件,替代原来key文件。

cd /data/secret/
openssl rsa -in weizhimiao.cn.key -out weizhimiao.cn.key.unsecure
Copier après la connexion

替换 weizhimiao.cn.conf 中的 weizhimiao.cn.key

Téléchargez le certificat généré et sélectionnez le serveur web correspondant (nginx, 1_weizhimiao.cn_bundle.crt), afin que nous ayons à la fois la clé privée et la clé publique.

  • 1_weizhimiao.cn_bundle.crt (clé publique)

  • weizhimiao.cn.key (clé privée)

    < /li>

configuration nginx (ajouter https pour le nom de domaine spécifié) Comment configurer le serveur Nginx https

configuration actuelle de nginx.conf

server {
 ...
 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key.unsecure;
 ...
}
Copier après la connexion

./conf.d/weizhimiao.cn.conf ajouté Comment configurer le serveur Nginx httpsrrreee

Remarque : 🎜🎜 configuration Un fichier /data/secret/dhparam.pem est utilisé, qui est un fichier de clé au format pem et est utilisé dans les sessions tls. Utilisé pour améliorer la sécurité de SSL. La méthode pour générer ce fichier, 🎜rrreee🎜 redirigera l'accès d'origine vers le port 80. Ajout de 🎜rrreee🎜🎜test🎜🎜🎜 à ./conf.d/weizhimiao.cn.conf pour détecter s'il y a des erreurs de syntaxe dans le fichier de configuration. Vous devez saisir le mot de passe que vous avez saisi lors de la génération de la clé publique. 🎜rrreee🎜Redémarrez nginx (rappelez-vous, le rechargement ne fonctionne pas)🎜rrreee🎜Visitez weizhimiao.cn avec le navigateur pour voir si cela prend effet. 🎜🎜De plus, une fois nginx configuré avec un certificat de sécurité, nginx nécessite un mot de passe pour chaque rechargement, arrêt et autres opérations. 🎜🎜Vous pouvez générer un fichier de clé déchiffré pour remplacer le fichier de clé d'origine. 🎜rrreee🎜Remplacez le fichier weizhimiao.cn.key dans weizhimiao.cn.conf 🎜rrreee🎜Vous n'avez plus besoin de saisir le mot de passe à chaque rechargement. 🎜🎜Enfin, utilisez ssllabs pour tester. 🎜🎜🎜🎜🎜Résultat🎜🎜🎜🎜

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal