<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
2019年11月22日
出現 The page at '' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint ''.
加入
2019年3月19日
使用 Node js Express 出現 unable to get local issuer certificate 問題解決。
近年來,資安的問題越來越被重視,而在使用 Node js Express 時,出現只要使用 https 去抓取遠端資料時,就會出現 unable to get local issuer certificate 的問題,一開始一直以為是甲方 Server 的問題,後來做一個簡單的範例時,
原始範例程式碼:紅字部分為要取得資料的url
var http = require('http');
var express = require('express');
var app = express();
var server = http.createServer(app);
app.get('/', function(req, res) { //我們要處理URL為 "/" 的HTTP GET請求
const url = "https://vod........................";
const https = require('https');
https.get(url, (response) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
response.setEncoding("utf8"); //需要加入這段,不然中文字會出現 16 進位編碼
let body = "";
response.on('data', (data) => {
body += data;
});
response.on("end", () => {
console.log('body:', body);
res.send(body);
});
}).on('error', (e) => {
console.error(e);
});
});
server.listen(3000, '127.0.0.1', function() {
console.log('HTTP伺服器在 http://127.0.0.1:3000/ 上運行');
});
發現原來是版本的問題,於是,我參考了以下網址
升級成 Express 4版本。
先移除Express 3
$ npm uninstall -g express
再安裝新的版本
$ npm install -g express-generator
重新啟動後,就可以正常使用了。
訂閱:
文章 (Atom)