Maison  >  Article  >  Opération et maintenance  >  Comment mettre à jour https sous Nginx

Comment mettre à jour https sous Nginx

WBOY
WBOYavant
2023-05-14 16:49:12985parcourir

Télécharger le certificat

Téléchargez le certificat de la version nginx dans la console de certificat. Le package de fichiers compressés téléchargé en local après décompression contient :

  • Fichier .pem : fichier de certificat

  • Fichier .key : fichier de clé privée du certificat (si vous choisissez de ne pas créer automatiquement de csr lors de la demande pour un certificat, il n'y aura pas de fichier de ce type)

Configurez nginx

1 Créez le répertoire cert dans le répertoire d'installation de nginx et copiez tous les fichiers téléchargés dans le répertoire cert Si vous avez créé le csr. déposez-vous lors de la demande de certificat, veuillez ajouter le fichier correspondant. Le fichier de clé privée est placé dans le répertoire cert.

2. Ouvrez le fichier nginx.conf dans le répertoire conf sous le répertoire d'installation de nginx

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid    logs/nginx.pid;

events {
  worker_connections 1024;
}

http {
  include    mime.types;
  default_type application/octet-stream;

  #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  #         '$status $body_bytes_sent "$http_referer" '
  #         '"$http_user_agent" "$http_x_forwarded_for"';

  #access_log logs/access.log main;

  sendfile    on;
  #tcp_nopush   on;

  #keepalive_timeout 0;
  keepalive_timeout 65;

  gzip on;  #开启gzip
  gzip_min_length 1k; #低于1kb的资源不压缩
  gzip_comp_level 3; #压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
  gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css; #需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片,下面会讲为什么。
  gzip_disable "msie [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
  gzip_vary on; #是否添加“vary: accept-encoding”响应头

  server {
    listen    80 default backlog=2048; #配置http可用
    listen    443 ssl; #配置https
    server_name localhost;

    ssl_certificate   ../cert/hzzly.pem; #配置证书文件
    ssl_certificate_key ../cert/hzzly.key; #配置私钥文件

    ssl_session_cache  shared:ssl:1m;
    ssl_session_timeout 5m;

    ssl_ciphers high:!anull:!md5;
    ssl_prefer_server_ciphers on;

    location / {
      root  /home/hzzly;
      index index.html index.htm;
    }

    # location ^~ /apis/ {
    #   proxy_set_header host $host;
    #   proxy_set_header x-real-ip $remote_addr;
    #   proxy_set_header x-forwarded-server $host;
    #   # 匹配任何以 /apis/ 开始的请求,并停止匹配 其它location
    #   proxy_pass http://xxxxxxxxxx/;
    # }

    # location ^~ /assets/ {
    #   gzip_static on;
    #   expires max;
    #   add_header cache-control public;
    # }
  }
}

3 Redémarrez nginx

$ cd /usr/local/nginx/sbin
$ ./nginx -s reload

Explication détaillée de l'erreur

1 Si nginx n'active pas le module SSL, une erreur sera générée. invité lors de la configuration de https

nginx : [emerg] le paramètre "ssl" nécessite ngx_http_ssl_module dans ...

nginx active le module ssl

Passer au package source :

$ cd /usr/local/src/nginx-1.16.0

Modifier le nouveaux paramètres de configuration

$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

Une fois la configuration terminée, exécutez Command

$ make //这里不要进行make install,否则就是覆盖安装

Sauvegardez le nginx

$ cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
d'origine installé

Le nginx nouvellement compilé écrasera le nginx

$ cp ./objs/nginx /usr/local/nginx/sbin/

Redémarrez nginx

$ cd /usr/local/nginx/sbin
$ ./nginx -s reload

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer