Добрый день,
Я пытаюсь использовать minikube для развертывания многостраничного веб-приложения nodejs-mongoDB. Я создал свое приложение, я его закроил, и теперь я пытаюсь развернуть его локально с помощью minikube. Когда я выполняю сервис minikube minikube service my-app --url
в оболочке Unix, я получаю IP-адрес. Поместив IP-адрес в браузер, я получаю индексную страницу, но, пытаясь использовать эту кнопку для перехода на другую страницу, браузер не переключается. Я уверен, что приложение правильно, потому что, выполняя его локально, я получаю то, что хочу, но не могу понять, почему это не удается в мини-кубе. Я новичок, и я не эксперт. Может кто-нибудь мне помочь?
Здесь HTML-код для индексной страницы:
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
<form method="get" action="./insert/item">
<input type="submit" value="Insert">
</form>
</body>
</html>
Здесь серверная сторона индексной страницы:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/insert/item', (req, res) => {
res.redirect('/insert');
});
module.exports = router;
Я предполагаю, что у вас есть ошибка JS, связанная с безопасностью CORS (https://developer.mozilla.org/fr/docs/Web/HTTP/CORS). Это препятствует взаимодействию одного веб-сайта с другим через JS.
Вы можете проверить это, используя инструменты разработчика:
Ваш сервис может быть полезен для локального использования, но не на удаленном веб-сайте, который предоставляет вам ip-служба k8s.