Я использую session.setProxy для маршрутизации каждого запроса через мой базовый экспресс-сервер.
Я хочу загрузить веб-страницу и заменить содержимое страницы своим собственным контентом.
Если язагрузить http-адрес, содержимое с экспресс-сервера загружено, но если я использую 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/');
, электронное приложение просто белое.
Есть личего-то не хватает на моем сервере или то, что я пытаюсь сделать, невозможно?