node项目部署https服务

难以形容这份喜悦了,这次是真的一杯茶一包烟一个bug改一天了
先描述我的问题,我的网页配置了https证书,但是node部署后是http服务,在调用接口时候前端报错:“Mixed Content: The page at ‘https://XXX’ was loaded over HTTPS, but requested an in…”
因为之前遇到过所以知道他是因为用了http访问了https接口或者反过来导致的,一波操作加上看了错误的方法受到了误导搞得心态很崩,在放弃的边缘终于找到了解决的方法!
好了不废话了开始展示了,我的服务器是apache服务,前后端是vue+node+express:

首先是node部分,网上说需要配置一下https打开端口,我没做测试不写这个可不可以,但我觉得应该可以不需要(一开始没改服务器写了也不生效),以防万一写一下吧。

//文件处理模块
let fs = require('fs')
//http 和 https服务模块
let http = require('http')
let https = require('https')
//配置你的证书,注意这里的证书是nginx的,不管你服务器用的是apache还是什么这里只要放nginx就好了
const httpsOption = {
    key: fs.readFileSync("./https/4432850_www.czjdream.com.key"),
    cert: fs.readFileSync("./https/4432850_www.czjdream.com.pem")
}
let express = require('express');
let app = express();
//在指定端口启动你的项目
http.createServer(app).listen(8082);
https.createServer(httpsOption, app).listen(8088);

然后我用的是node管理器是PM2管理器,node项目找个地扔服务器上,然后在PM2里选择文件目录点击启动就可了。
然后配置你的apache配置相关(我用的是宝塔面板,这里就默认你已经配置好了SSL证书):
apache/conf/extra/httpd-ssl.conf:

# 设置监听你的端口,调用接口时就是https://xxx.com:8089
Listen 8089
# 新建一个VirtualHost,写上监听的端口
<VirtualHost *:8089>     
    ServerName   blogMaster
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile C:/BtSoft/apache/cert/xxxxx.crt
    SSLCertificateKeyFile C:/BtSoft/apache/cert/xxxxx.key 
    SSLCertificateChainFile C:/BtSoft/apache/cert/xxxxx.crt
	
        SSLProxyEngine on

          Proxyrequests off
<Proxy *>
         Order deny,allow
         Allow from all
 </Proxy>

<Directory />
		    Options FollowSymLinks ExecCGI
		    AllowOverride All
		    Require all granted
</Directory>

<Location />
	  # 这里是你在node里配置启动的端口,我的是8082
      ProxyPass http://localhost:8082/
      ProxyPassReverse http://localhost:8082/
</Location>
</VirtualHost>     

配置完记得重启apache服务。

哇心态崩掉,我弄了一天结果就这么几行解决,就这?就这?

本项目参考了http://blog.csdn.net/aerchi/article/details/73605496
但是大部分为自己原创总结,在此记录

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在node.js服务器上部署Vue项目,可以按照以下步骤进行操作: 1. 首先,确保你的服务器上已经安装了Node.js和npm。 2. 在服务器上创建一个文件夹(例如,项目文件夹),将你的Vue项目的dist目录上传到该文件夹中。 3. 在终端中切换到该项目文件夹的路径下,然后运行```npm install```命令,以安装项目所需的依赖包。这将根据项目中的package.json文件自动安装所有依赖项。 4. 创建一个名为server.js的文件,并在其中编写以下代码来配置Node.js服务器: ``` // 引入express const express = require('express'); // 调用express,创建一个app服务实例对象 const app = express(); // 指定静态资源 app.use(express.static(__dirname + '/dist')); // 配置后端路由 app.get('/api/person', (req, res) => { console.log('访问到了'); // 给客户端返回数据 res.send({ name: 'lily', age:18 }); }); // 设置端口监听 app.listen(5000, (err) => { if (!err) console.log('服务器启动成功了!'); err && console.log(err); }); ``` 5. 在终端中运行```node server.js```命令,启动Node.js服务器。 6. 现在,你可以通过访问服务器的IP地址或域名加上端口号来访问你的Vue项目。例如,如果你的服务器IP地址为192.168.0.1,端口号为5000,那么你可以在浏览器中输入```http://192.168.0.1:5000```来访问你的Vue项目。 请注意,上述代码仅提供了一个基本的配置示例,你可能需要根据你的项目需求进行更多的配置。例如,你可能需要配置代理来解决跨域问题,或者使用HTTPS来提供安全的连接等等。具体的配置取决于你的项目要求和服务器环境。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值