node.js 配合nginx 搭建https服务器

本文介绍了如何在Linux环境下通过apt-get命令安装Node.js,接着讲解了将CA证书上传到服务器并修改node项目的server.js文件的步骤。同时,文章详细说明了在Nginx的配置文件中添加HTTPS配置的流程,并指出重启Nginx后HTTPS服务即可生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Linux 上安装 Node.js

Ubuntu apt-get命令安装

sudo apt-get install nodejs 
sudo apt-get install npm

首先要将下载的CA证书上传到服务器上面

在node项目目录下修改server.js文件

var http = require('http');
var https = require('https');
var fs = require('fs');

var options = {
    key: fs.readFileSync('Nginx/2_www.yangbb.cn.key'),//配置自己的证书
    cert: fs.readFileSync('Nginx/1_www.yangbb.cn_bundle.crt')//同上
}


var server = https.createServer(options).listen(443);
var io = require('socket.io')(server);

然后打开/etc/nginx/nginx.conf 配置文件

将下面的https配置添加到配置文件

              	listen 443;
        	server_name www.yangbb.cn; #濉啓缁戝畾璇佷功       
                ssl on;
	        ssl_certificate /home/ubuntu/ybb/www.yangbb.cn/Nginx/1_www.yangbb.cn_bundle.crt;
	        ssl_certificate_key /home/ubuntu/ybb/www.yangbb.cn/Nginx/2_www.yangbb.cn.key;
        	ssl_session_timeout 5m;
	        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #鎸夌収杩欎釜鍗忚閰嶇疆
        	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#鎸夌収杩欎釜濂椾欢閰嶇疆

最终

user www-data;  
worker_processes auto;
pid /run/nginx.pid;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;

    server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

        server{
           
            server_name www.yangbb.cn;
            listen 80 ;          
            return 301 https://$host$request_uri;
          } 
        #
	# SSL Settings
	##   
	server {
              	listen 443;
        	server_name www.yangbb.cn;      
                ssl on;
	        ssl_certificate /home/ubuntu/ybb/www.yangbb.cn/Nginx/1_www.yangbb.cn_bundle.crt;
	        ssl_certificate_key /home/ubuntu/ybb/www.yangbb.cn/Nginx/2_www.yangbb.cn.key;
        	ssl_session_timeout 5m;
	        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
        	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
	        ssl_prefer_server_ciphers on;
        	location / {
                                         	
          #     root   /var/www/html; #项目路径
                root  /home/ubuntu/ybb/www;
            	index  index.html index.htm;
        }
                error_page 497  https://$host$request_uri;
        }


	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";

	

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}

重启nginx则https生效

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值