nodejs服务器
说明: 1.网站协议使用http 2.https协议在Nginx中设置,原理与http代理相同,只是设置了ssl
Nginx配置
路径:D:\nginx-1.25.2\conf\nginx.conf #user nobody; worker_processes 1; #进程数量,整数、auto自动设置 events { worker_connections 1024; #每个进程最大同时链接数 } http { include mime.types; #包含文件,网络资源类型 default_type application/octet-stream; #默认配置类型,不设置默认值是"text/plain" sendfile on; #开启高效文件传输模式,直接写入磁盘 keepalive_timeout 65; #服务器保持用户连接时间,单位秒 #https代理 #80转发443 server { listen 80; server_name www.liboke.cn; #自定义,域名 rewrite ^(.*)$ https://${server_name}$1 permanent; #转发,不要修改 } #代理域名转8080端口 server { listen 443 ssl; #https协议端口是443 server_name www.liboke.cn; #自定义,域名 charset utf-8; #网站使用编码 ssl_certificate ssl/liboke.cn.pem; #自定义,ssl证书,放到 "nginx-1.25.2\conf" 目录下 ssl_certificate_key ssl/liboke.cn.key; ssl_session_cache shared:SSL:1m; #指定 SSL 会话缓存类型和大小。 #shared 表示将缓存共享给所有 Nginx 工作进程,在高并发场景下可以提升性能。 #SSL 是缓存名称,1m 表示缓存大小为 1 MB。 ssl_session_timeout 5m; #SSL 会话的有效期,5m表示5分钟 ssl_ciphers HIGH:!aNULL:!MD5; #服务器支持加密算法, 由于安全性的原因,该配置禁止了一些不安全的加密 #ECDHE-RSA-AES128-GCM-SHA256 表示使用 ECDHE-RSA 密钥交换协议和 AES128-GCM 加密算法等加密。 #HIGH 表示选择加密强度较高的加密套件。 #!aNULL 表示禁止使用匿名加密算法。 #!MD5 表示禁止使用 MD5 摘要算法。 #!RC4 表示禁止使用 RC4 加密算法。 #!DHE 表示禁止使用基于 Diffie-Hellman 密钥交换算法的加密。 ssl_prefer_server_ciphers on; #优先使用服务器端支持的加密算法 location / { proxy_pass http://localhost:8080; #自定义,修改端口,nginx已经设置了SSL,所以代理的网站可以就用HTTP协议 } } } cmd控制台: 开启nodejs服务器:node index 开启nginx代理:start nginx