【问题标题】:SSL settings for NODE applicationNODE 应用程序的 SSL 设置
【发布时间】:2019-04-04 10:20:34
【问题描述】:

我的节点应用程序端口在https://www.example.com:3001 成功运行,但我在提交详细信息时遇到了 CORS 问题

跨域请求被阻止:同源策略不允许读取位于https://www.example.com:3001/user/findUser 的远程资源

注意:如果没有 https,应用程序运行完美,但 SSL (https) 出现问题...任何帮助将不胜感激

我的代码

//app.js used for configuring the application

const express = require('express'); //getting express module
const db = require('./database/database-db'); //Database connection file
const UserController = require('./user/UserController');
const DataController = require('./user/DataController');
const app = express();

const cors = require('cors');

app.use(function (req, res, next) {
	// res.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200'); 
    res.setHeader('Access-Control-Allow-Origin', 'https://www.example.com'); 
	res.setHeader('Access-Control-Allow-Methods', 'POST');
	res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
	res.setHeader('Access-Control-Allow-Credentials', true);
	next();
  });


//importing UserController and it appears /user/allOtherURIs
app.use(cors());
app.use('/user', UserController);
app.use('/data', DataController);
app.get('/', function(req, res){
res.send('Welcome to MY-API');
});




//this should be exported because to make available all the imported modules in this file

module.exports = app;

'use strict' ;

 
//server.js for spinning up the node server on a specific port 3001

//  var app = require('./app/app.js');           //making all the modules in app.js available


//  var port = process.env.PORT || 3001 ; //setting port 
//  var server = app.listen(port, function(){
//   console.log("Server is running on http://localhost:%s", port);
//   });

//ssl port settings

var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('key.key'),
  cert: fs.readFileSync('cert.crt'),
};

https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end("Welcome");
}).listen(3001);

   

app.js 代码为:

【问题讨论】:

    标签: express cors mean


    【解决方案1】:

    最后是代码

    var express = require('express');
    var DataController = require('./user/DataController');
    var UserController = require('./user/UserController');
    var db = require('./database/database-db'); 
    var cors = require('cors');
    var app = express();
    app.use(cors());
    
    app.use(function(req, res, next) {
    res.setHeader("Access-Control-Allow-Origin", "https://www.example.com");
    res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    res.setHeader('Access-Control-Allow-Methods', 'POST');
    res.setHeader('Access-Control-Allow-Credentials', true);
    next();
    });
    
    app.use('/user', UserController);
    app.use('/data', DataController);
    app.get('/', function(req, res){
    res.send("Welcome");
    });
    
    // This settings are for HTTPS, SSL web applications
    
    var https = require("https");
    var fs = require("fs");
    
    var options = {
      key: fs.readFileSync("key.key"),
      cert: fs.readFileSync("cert.crt")
     };
    https.createServer(options,app).listen(3001);
    console.log('Welcome')
    
    
    
    // // This settings are only for HTTP sites
    
    // var http = require("http");
    // var fs = require("fs");
    
    // http.createServer(app).listen(3001);
    // console.log('Welcome')

    【讨论】:

      猜你喜欢
      • 2013-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多