chat페이지 크롬 콘솔창에 아래 에러 확인하여,
Refused to load the script 'https://cdn.jsdelivr.net/npm/socket.io@4.7.2/dist/socket.io.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' https://code.jquery.com/jquery-3.6.0.min.js https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js http://localhost:9000/". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
server.js
const { createServer } = require('http')
const { Server } = require('socket.io')
const server = createServer(app)
const io = new Server(server) app.use((req, res, next) => {
res.setHeader("Content-Security-Policy", "script-src 'self' https://cdn.jsdelivr.net");
next();
}); 서버파일에 위 내용을 추가해도, ‘Content Security Policy’ 으로, 스크립트 로딩 에러가 여전히 발생합니다.
어떻게 해야 할지 도움 말씀 부탁드립니다. 찾아봐서 하라는대로 모든 시도를 했으나, cdn 소켓이 불러와지지 않았습니다.
감사합니다.
chat.ejs
<script src="https://cdn.jsdelivr.net/npm/socket.io@4.7.2/client-dist/socket.io.min.js"></script>
<script>
const socket = io()
socket.emit('age', '40');
</script>
</body>