Node.js를 사용하여 내 grafana 페이지에 로그인 할 때 기본 인증을 사용하려고하는데 익스프레스가 표시됩니다. 다음과 같은 오류가 발생했습니다. Node.js에서 요청한 리소스에 'Access-Control-Allow-Origin'헤더가 없습니다.
'로컬 호스트 : 4000' '로컬 호스트 : 5000'내 app.js를 보유하고 내 grafana 페이지로 proxy_pass 그의 nginx에서입니다 (로컬 호스트 : 8080)
다음내 기본 인증 코드
입니다app.get('/grafana', isLoggedIn, function(req, res, next){
console.log('Accessing to grafana');
var auth = "Basic " + new Buffer('admin' + ":" + 'admin').toString("base64");
request({
url: 'http://localhost:5000',
headers:{
"Authorization": auth
} //passing through here
}, function(err, resp, body){
여기 내 문제는 무엇입니까? 아래처럼 Access Control-Allow-Origin 등을 추가했지만 전혀 작동하지 않습니다.
app.all('*', function(req, res, next) {
res.header('Access-Control-Allow-Origin', "*");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Origin, Basic, X-Requested-With, Content-Type, Accept, Authorization');
res.header('Access-Control-Allow-Credentials', 'true');
next();
});
아무도 아이디어가 없나요?
는
오류는 클라이언트 측 코드가'localhost : 5000'의 프록시가 아닌'localhost : 8080'과 직접 통신하려고 시도하고 있음을 나타냅니다. – robertklep