I deployed my app to Heroku and I keep getting this error in the Chrome console:
bundle.js:11892 Mixed Content: The page at 'https://***.herokuapp.com/#/login'
was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint
'http://localhost:3000/login'. This request has been blocked; the content must
be served over HTTPS.(anonymous function) @ bundle.js:11892sendReq @
bundle.js:11653serverRequest @ bundle.js:11363processQueue @
bundle.js:16097(anonymous function) @ bundle.js:16113Scope.$eval @
bundle.js:17365Scope.$digest @ bundle.js:17181Scope.$apply @
bundle.js:17473(anonymous function) @ bundle.js:25159defaultHandlerWrapper @
bundle.js:3592eventHandler @ bundle.js:3580
bundle.js:11892 XMLHttpRequest cannot load http://localhost:3000/login. Failed
to start loading.
This is my server file:
let express = require('express');
let app = express();
let publicRouter = express.Router();
let apiRouter = express.Router();
let models = require(__dirname + '/models');
let bodyParser = require('body-parser');
let morgan = require('morgan');
let config = require(__dirname + '/config/env.js');
app.use(express.static(__dirname + '/build'));
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', 'http://localhost:8080');
res.header('Access-Control-Allow-Headers', 'Content-Type, token, authorization');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
next();
})
require(__dirname + '/routes/auth-routes')(publicRouter, models);
require(__dirname + '/routes/users-routes')(apiRouter, models);
require(__dirname + '/routes/questions-routes')(apiRouter, models);
require(__dirname + '/routes/scores-routes')(apiRouter, models);
app.use(bodyParser.json());
app.use('/', publicRouter);
app.use('/api', apiRouter);
app.use(morgan('dev'));
app.listen(config.PORT, () => {
console.log('server started on port ' + config.PORT);
});
I tried changing all the localhost:3000 routes to https but that did not help. I figured that wouldn't work haha. I thought it may be the google font but this is the link "//fonts.googleapis.com/css?family=xxx+xxx+xxx" which should be good to go for HTTPS. Any thoughts or suggestions?
https is on 443. perhaps, change your server to listen on that port instead of 8080.
In your app.js or service or where you're making your calls to the server in your app change the address from localhost:3000 to https://***.herokuapp.com:443/yourendpoint. So like
also "//***.herokuapp.com:443" should work as well