云服务器的搭建

一、搭建Https本地服务器

1.新建项目

在本地磁盘上新建一个HttpsTest文件夹,用来存放测试文件

2.初始化以及express安装

接下来用以下命令初始化文件夹以及安装express矿建

1
npm init -y
1
npm install express --save

之后会生成以下三个文件

3.建立https.js文件

新建一个https.js文件,该文件后续会写入服务器测试代码

4.安装openssl

openssl 用于生成自签名证书(免费,本地测试使用)

4.1安装

如果电脑中已有git,直接右键git bush here即可,忽略以下安装步骤

若没有,可以安装openssl安装包,下载地址http://slproweb.com/products/Win32OpenSSL.html

找到对应的exe文件下载安装即可

安装完成后配置环境变量,把openssl安装路径bin的路径(例如 C:\OpenSSL-Win64\bin)加入到操作系统的系统环境变量Path中

重启电脑!!!切记,是个好习惯

4.2验证

验证openssl是否生效,打开cmd,输入openssl若能跳转,则安装完成

5.生成证书

cmd进入openssl后,输入命令生成Private Key 和 CSR

1
req -new -newkey rsa:2048 -nodes -out mydomain.csr -keyout private.key

ps:若用git则需要加openssl,下同

1
openssl req -new -newkey rsa:2048 -nodes -out mydomain.csr -keyout private.key

生成自签名证书

使用上一步的private.key和mydomain.csr生成自签名证书,输入以下命令

1
x509 -req -days 365 -in mydomain.csr -signkey private.key -out mydomain.crt

完成后会得到以下几个文件

6.完善https.js以及测试

在http.js中输入以下代码搭建服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var express = require("express");
var app = express();
var fs = require('fs');

var key = fs.readFileSync('./private.key');
var cert = fs.readFileSync('./mydomain.crt');

var options = {
key: key,
cert: cert
};
// Run static server
var https = require('https');
https.createServer(options, app.get('/', function (req, reb) {
reb.send('Success!')
})).listen(3000, function () {
console.log('Running...')
});

到此基本处理完成,下面开始测试

运行https.js

在浏览器中输入https://localhost:3000

浏览器会显示您的连接是不是私密连接

点击高级选项,再点击继续前往

当看到页面返回Success!时,即表示https服务搭建成功

可以通过点击网站信息,点击证书查看证书信息

说明

由于我们证书是自己创建的,没有经过第三方机构的验证,因此会出现警告的提示。大家可以去有资质的网络运营商,去申请自己的证书。比如:godaddy SSL Certificates,优惠码:WOWfensme

二、搭建腾讯云Https网络服务器

1.购买域名

进入腾讯云官网,用微信登录账号(若提示是否创建新账号,点击创建新账号)往下翻,找到域名与网站功能菜单,点击

点击域名注册

点击域名1元抢

进入页面后.club.xyz域名都是一年一元,按喜好任选即可

点击之后,再输入框中输入自己的想要创建的域名,点击查询,如果不可以购买,说明已被抢注,需要换其他名称

购买完成之后,点击页面右上角控制台,即可进入管理中心,看到自己购买的域名

之后,在该页面点击实名认证,域名都要通过实名认证才可以使用,填写相关信息即可

2.购买服务器

接下来准备购买服务器,在腾讯云官网有15天免费体验,可以先进行试用

这一部分都可以免费试用,我们主要需要云服务器

点击领取之后会有默认配置可以选择,操作系统的话,如果熟悉Linux可以使用Cent OS,否则选择windows server即可

接下来免费付款即可

完成之后,右上角会有消息提示,点击查看消息,即可看到购买的服务器的登录密码和相关信息

3.服务器配置

接下来需要配置服务器

1.首先登录云服务器控制台

2.在实例列表中可以看到自己的服务器,点击登录

3.在弹出的【登录Windows实例】窗口中,选择【使用 RDP 文件登录】,单击【下载 RDP 文件】到本地。

4.双击下载到本地的 RDP 文件,远程连接到 Windows 云服务器。

到此服务器基本设置完成,接下来需要在服务器中安装node,sublime等等(强烈推荐vscode)

4.域名配置

在完成实名认证后,点击控制台,进入域名管理,点击解析

点击添加记录,基本格式按以下图片内容写

注意:其中记录值换成你自己购买的服务器的公网ip

这样域名已经与服务器进行绑定

5.https连接测试

以下都是在云服务器中操作

1.要搭建https的连接,先要下载ssl证书管理,在腾讯云官网中,点击控制台,云产品,ssl证书

2.点开之后会看到如下

3、点击申请证书,默认选择即可

4、填写信息完毕后,选择“自动DNS验证”,将自动为域名添加DNS记录,如下图:

5、等候证书通过,通过后点击下载

6、然后把这两个文件放到服务器磁盘中(新建一个usr文件夹,放入其中,记住他的绝对路径)

7.在服务器中安装Nginx,进行反向代理,这是Nginx的官网

http://nginx.org/en/download.html

下载解压即可

7、修改Nginx下面的conf文件夹下nginx.conf文件添加如下代码,删去中文

1
2
3
4
5
6
7
8
9
10
11
server {
listen 443 ssl;
server_name gw2.vsgames.cn;
ssl_certificate /Users/wucao/Desktop/gw2.vsgames.cn/Nginx/1_gw2.vsgames.cn_bundle.crt; # 证书文件地址
ssl_certificate_key /Users/wucao/Desktop/gw2.vsgames.cn/Nginx/2_gw2.vsgames.cn.key; # 私钥文件地址
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /usr/share/nginx/html;
}
}

配置好点击nginx.exe重启Nginx

8.接下来在node中编写代码,将秘钥和证书地址改为自己的

1
2
3
4
5
6
7
8
9
10
11
12
13
const https = require('https');
const fs = require('fs');

const options = {
key: fs.readFileSync('/Users/wucao/Desktop/gw2.vsgames.cn/Nginx/2_gw2.vsgames.cn.key'),//秘钥地址
cert: fs.readFileSync('/Users/wucao/Desktop/gw2.vsgames.cn/Nginx/1_gw2.vsgames.cn_bundle.crt')//证书地址
};

https.createServer(options, function(req, res) {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
}).listen(8000);

开启服务器

输入你的域名地址加端口号,例如https://howlcn.cn:8000

出现hello world说明搭建成功

若直接域名访问,则将监听端口设为80即可

最后更新: 2019年09月27日 10:16

原始链接: https://HowlCN1997.github.io/2018/04/03/云服务器的搭建/

× 请我吃糖~
打赏二维码