将web项目(nodejs)部署于内网机,以安全方式(https)访问

1.申请域名

        可以在域名新网上面申请。

2.申请证书

        可以在阿里云上面申请一年免费的证书,来年需要重新申请;申请完成后,验证DNS信息是否填写正确项下面会提示未检测到DNS记录值;将申请信息中的,主机记录和记录值在申请域名处配置上,之后域名验证成功,两天内证书可申请下来。

3.内网机离线安装nginx

        参考链接:ubuntu系统离线安装nginx详细教程-CSDN博客

4.配置nginx80端口映射443,并启动nginx

1)打开Nginx配置文件:


sudo nano /etc/nginx/nginx.conf

sudo nano /etc/nginx/conf.d/default.conf
请根据自己的Nginx安装方式和文件位置选择(通过查看nginx.conf文件内容)

2)修改配置文件:

3)检查Nginx配置的语法是否正确:


sudo nginx -t
如果配置语法正确,将显示 "nginx: configuration file /etc/nginx/nginx.conf test is successful" 的消息。

4)启动/重启nginx:

5)如果需要80同时映射两个服务的不同端口,conf文件配置方法如下:

        需要在Nginx的配置文件中定义不同的server块,每个server块对应一个域名和相应的端口。在配置文件的http块中,添加以下类似的配置:

```
server {
    listen 80;
    server_name example1.com;

    listen 443 ssl;
    server_name domain1.com;
    ssl_certificate /path/to/domain1_certificate.crt;
    ssl_certificate_key /path/to/domain1_private_key.key;
    
    location / {
        proxy_pass http://localhost:3000;  # 将域名example1.com映射到端口3000
    }
}

server {
    listen 80;
    server_name example2.com;

    listen 443 ssl;
    server_name domain1.com;
    ssl_certificate /path/to/domain1_certificate.crt;
    ssl_certificate_key /path/to/domain1_private_key.key;
    
    location / {
        proxy_pass http://localhost:4000;  # 将域名example2.com映射到端口4000
    }
}
```

        上述配置中,example1.com会将80端口映射到本地的3000端口,而example2.com会将80端口映射到本地的4000端口。根据实际情况修改`server_name`和`proxy_pass`的值。

        保存并重启Nginx,使配置文件生效。此时,访问example1.com会被映射到3000端口,访问example2.com会被映射到4000端口。

         注意:配置两个项目与一个不同,两个项目都不走443端口,可以配置https;且证书只有在nginx中配置才好使

6)配置服务的首页地址

要配置nginx访问域名的首页地址,需要进行以下步骤:

1. 打开nginx的配置文件。通常情况下,该文件的路径是`/etc/nginx/nginx.conf`。

2. 在配置文件中找到`server`区块,并在该区块中添加以下代码:
```shell
server {
    listen 80;
    server_name your_domain_name;
    root /path/to/your/index/folder;
    index index.html;
}
```
其中,`your_domain_name`是你要配置的域名,`/path/to/your/index/folder`是指向该域名首页文件的文件夹路径,一般是该域名对应网站的根目录。

3. 保存配置文件,并重启nginx服务,使配置生效。
```shell
sudo service nginx restart
```

配置完成后,当访问你的域名时,nginx将自动指向该域名对应的首页地址。注意,这里默认使用`index.html`作为首页文件,如有需要,你可以根据自己的需求修改。同时,还需要确保域名解析正确,并将域名指向你的服务器IP地址。

7)黑名单设置

nginx配置两个项目时,黑名单也只能在nginx中配置,配置方法:在Nginx配置文件的server块中添加以下代码:

location / { allow your-ip-address; deny all; }

将your-ip-address替换为允许访问的IP地址;

5. nodejs项目配置443端口访问,并配置证书信息

var https = require("https")

var options = {
        key:fs.readFileSync(./XX/xx.key'),
        certifs:readFileSync(./XX/xxx_public.crt),
        ca:fs.readFileSync(./XX/xxxx_chain.cot)

}

...

var httpsServer =https.createServe(options,app);

httpsServer. listen (443);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DoubleClik

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值