Я развернул сервер API и клиента в контейнеры Azure. Клиент делает запросы HTTPS на URL -адрес API, этот URL -адрес устанавливается как во время сборки, так и в качестве переменной env, следуя соглашению о именовании reACT_APP_API. Запрос, который заканчивается ошибкой: < /p>
The page at 'https://myapp.westus.azurecontainerapps.io/jobs' was loaded over HTTPS,
but requested an insecure XMLHttpRequest endpoint
'http://myapp-api.westus.azurecontainera ... /scheduler'.
This request has been blocked; the content must be served over HTTPS.
< /code>
На странице заданий есть кнопка, которая делает вызов /планировщик, они оба имеют один и тот же объект Apiclient, например: < /p>
const apiURL: string = "https://myapp-api.westus.azurecontainerapps.io"; // also tried process.env.REACT_APP_API;
const apiClient = axios.create({
baseURL: `${apiURL}/v1`,
headers: {
'Content-Type': 'application/json',
},
});
< /code>
Я на 100% уверен, что этот Apiclient является единственным, используемым во всех приложениях, и запрос HTPP в жестком кодировании не выполнен. Я жестко закодировал URL HTTPS для целей тестирования.export async function fetchDatasets(datasetId=null) {
try {
const endpoint = datasetId ? `/datasets/${encodeURIComponent(datasetId)}` : '/datasets';
const response = await apiClient.get(endpoint);
return response.data;
} catch (error) {
console.error('Error fetching datasets:', error);
throw error;
}
}
< /code>
Но здесь у меня есть проблема: < /p>
export async function createSchedule(data: ScheduleRequest): Promise {
try {
const response = await apiClient.post('/scheduler/', data);
return response.data;
} catch (error) {
console.error('Error creating schedule request:', error);
throw error;
}
}
< /code>
, а также в этом, когда Jobid null, он отображает страницу /jobs, и она работает, но когда Jobid не является нулевым, он видит страницу /jobs /{jobid} и терпит неудачу: < /p>
export async function fetchJobs(jobId = null) {
try {
const endpoint = jobId ? `/jobs/${encodeURIComponent(jobId)}` : '/jobs';
const response = await apiClient.get(endpoint);
return response.data;
} catch (error) {
console.error('Error fetching Jobs:', error);
throw error;
}
}
< /code>
Единственная разница, которую я могу сказать, и я не уверен, может ли это быть проблемой, это то, что в тех случаях, когда работа, URL браузера (например, /наборы данных) такой же, как и запрос API, но, например, в случае планирования, случается, что он сделан со страницы браузера /задания и запроса /планирования. Но в любом случае, API и клиент развернуты в разных URL -адресах
Подробнее здесь: https://stackoverflow.com/questions/797 ... ed-content
Реагировать смешанный контент ⇐ Javascript
Форум по Javascript
1753419416
Anonymous
Я развернул сервер API и клиента в контейнеры Azure. Клиент делает запросы HTTPS на URL -адрес API, этот URL -адрес устанавливается как во время сборки, так и в качестве переменной env, следуя соглашению о именовании reACT_APP_API. Запрос, который заканчивается ошибкой: < /p>
The page at 'https://myapp.westus.azurecontainerapps.io/jobs' was loaded over HTTPS,
but requested an insecure XMLHttpRequest endpoint
'http://myapp-api.westus.azurecontainerapps.io/v1/scheduler'.
This request has been blocked; the content must be served over HTTPS.
< /code>
На странице заданий есть кнопка, которая делает вызов /планировщик, они оба имеют один и тот же объект Apiclient, например: < /p>
const apiURL: string = "https://myapp-api.westus.azurecontainerapps.io"; // also tried process.env.REACT_APP_API;
const apiClient = axios.create({
baseURL: `${apiURL}/v1`,
headers: {
'Content-Type': 'application/json',
},
});
< /code>
Я на 100% уверен, что этот Apiclient является единственным, используемым во всех приложениях, и запрос HTPP в жестком кодировании не выполнен. Я жестко закодировал URL HTTPS для целей тестирования.export async function fetchDatasets(datasetId=null) {
try {
const endpoint = datasetId ? `/datasets/${encodeURIComponent(datasetId)}` : '/datasets';
const response = await apiClient.get(endpoint);
return response.data;
} catch (error) {
console.error('Error fetching datasets:', error);
throw error;
}
}
< /code>
Но здесь у меня есть проблема: < /p>
export async function createSchedule(data: ScheduleRequest): Promise {
try {
const response = await apiClient.post('/scheduler/', data);
return response.data;
} catch (error) {
console.error('Error creating schedule request:', error);
throw error;
}
}
< /code>
, а также в этом, когда Jobid null, он отображает страницу /jobs, и она работает, но когда Jobid не является нулевым, он видит страницу /jobs /{jobid} и терпит неудачу: < /p>
export async function fetchJobs(jobId = null) {
try {
const endpoint = jobId ? `/jobs/${encodeURIComponent(jobId)}` : '/jobs';
const response = await apiClient.get(endpoint);
return response.data;
} catch (error) {
console.error('Error fetching Jobs:', error);
throw error;
}
}
< /code>
Единственная разница, которую я могу сказать, и я не уверен, может ли это быть проблемой, это то, что в тех случаях, когда работа, URL браузера (например, /наборы данных) такой же, как и запрос API, но, например, в случае планирования, случается, что он сделан со страницы браузера /задания и запроса /планирования. Но в любом случае, API и клиент развернуты в разных URL -адресах
Подробнее здесь: [url]https://stackoverflow.com/questions/79714200/react-mixed-content[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия