我正在使用session.setProxy通过我的基本Express服务器路由每个请求。
我想加载网页并将页面内容替换为自己的内容。
如果我加载http url,则会加载来自快递服务器的内容,但是如果我使用https,则该应用程序只是空白。
这是我的电子应用程序的main.js:
const electron = require('electron')
const { app, BrowserWindow } = electron
var win;
app.on('ready', initwindow);
function initwindow() {
win = new BrowserWindow({show:true});
win.webContents.session.setProxy({
proxyRules: 'https://xxx',
}, () => {
win.loadURL('https://www.google.com/');
});
}
这是我的快递服务器:
const fs = require('fs');
const http = require('http');
const https = require('https');
const express = require('express');
const app = express();
const credentials = {
key: fs.readFileSync('/etc/letsencrypt/live/xxx/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/xxx/fullchain.pem'),
};
app.get('/', function(req, res) {
res.send('Hello world')
})
const httpServer = http.createServer(app);
const httpsServer = https.createServer(credentials, app);
httpServer.listen(80, () => {
console.log('HTTP Server running on port 80');
});
httpsServer.listen(443, () => {
console.log('HTTPS Server running on port 443');
});
例如,如果我使用win.loadURL('http://www.google.com/');
,则显示“ Hello world”,但是如果我使用win.loadURL('https://www.google.com/');
,则电子应用只是白色。
服务器上是否缺少某些内容?或者我试图做些什么?