我是微信小程序+node.js+sqlserver,我想通过内网穿刺小米球,然后访问本机调试到我的微信小程序
const formidable = require('formidable');
const tedious = require('tedious');
//Node.js服务器和SQL Server都在同一个内网中,那么IPAddress保持不变。内网穿刺映射
const IPAddress = '192.168.44.1';这是我的ipv4的地址
const UserName = 'ss';
const PWD = '123456';
const DBName = 'yunfu';
// 解析 application/x-www-form-urlencoded 格式请求体
app.use(bodyParser.urlencoded({ extended: true}));
app.use(express.json());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
//连接数据库
function getDatabaseConfig() {
return {
port: 1433,
user: UserName,
password: PWD,
server: IPAddress,
database: DBName,
options: {
encrypt: false,
trustServerCertificate: true,
cryptoCredentialsDetails: {
minVersion: 'TLSv1.2',
sigint: 'TLS_AES_256_GCM_SHA384'
},
disableRenegotiation: true
},
};
}
//登录
app.post('/getUser', (req, res) => {
const config = getDatabaseConfig();
const pool = new SqlServer.ConnectionPool(config);
const {password,sellphone} = req.body;
pool.connect().then(() => {
return pool.request()
.query(`SELECT * FROM dbo.yfb WHERE sellphone = '${sellphone}' AND password = '${password}'`);
}).then((result) => {
if (result.recordset.length > 0) {
res.json(result.recordset[0]); // 返回查询到的第一条数据
console.log(result.recordset[0]);
} else {
res.json(null); // 查询结果为空
}
}).catch((err) => {
console.error(err);
res.status(500).send('Error retrieving data from the database.');
}).finally(() => {
pool.close();
});
});
//监听端口
app.listen(3000, () => {
console.log('Server running at http://' + IPAddress + ':3000');
});,然后我的前端我用了我的生成的http的公网地址wx.request({
//如果是本地测试那就用http://192.168.44.1:3000/getUser
//内网穿刺访问就用http://我的公网地址/getUser
url: 'http://我的公网地址/getUser',
method: 'POST',
data: {
sellphone: sellphone,
password: password
},
success(res) {
if (res.data) {
// 将返回的数据存储到全局数据中
getApp().globalData.userData = res.data;
me.setData({
userData: res.data // 更新页面数据
});
我的公网地址里面的本地服务地址:就是192.168.44.1,然后我还是没有连接到我的数据库sqlserver,我的数据库sqlserver的服务器名称也是192.168.44.1,我要怎么修改才能通过小米球内网穿刺访问到我的微信小程序加我的数据库和node.js正常运行