Автоматическое изменение URL-адресов веб-среды

#javascript #php #html #amazon-web-services

#javascript #php #HTML #amazon-веб-сервисы

Вопрос:

В настоящее время я работаю над веб-проектом (js, html, php без фреймворков) с использованием технологии AWS, включая AWS version control. Я работаю локально с Xampp, и когда я отправляю свой код в главную ветку, появляется триггер, который развертывает код в производственной среде.

Моя главная проблема сейчас в том, что мне нужно вручную изменить URL-адреса для разработки или использовать HTML-тег и относительные URL-адреса, и это беспорядок.. При работе над разработкой мой URL-адрес выглядит примерно так: «192.168.64.2 / web», а при производстве — «myweburl.com «. Итак, мне нужно что-то, что проверяет мой фактический URL-адрес и изменяет все это в проекте. Что-то вроде глобальной переменной с используемым URL.

Я читал об использовании «dotenv» и «dotenv-webpack» для управления средой, но мне нужно установить их на сервер, а также nodejs и configure .gitignore, и я ожидаю более простого решения. Я хотел бы избежать nodejs. Я искал свой вопрос по всему Интернету, но я просто нахожу способы, которые меня не убеждают, но если этот вопрос повторяется, просто перенаправьте меня туда.

Существует ли какой-либо безопасный подход, просто использующий javascript, php или файл конфигурации?

Цель состоит в том, чтобы иметь что-то, что в зависимости от моего URL (DEV, TEST, PROD) изменяет все URL-адреса моего проекта и защищает другие URL-адреса среды от просмотра.

Спасибо

Комментарии:

1. Почему бы просто не опустить имя хоста вообще и не использовать ссылки типа: /foo ? Начальная косая черта сделает ссылку относительной к корню документа. И в качестве примечания, вам не нужно использовать nodejs для использования dotenv. Для этого также существуют реализации PHP.

2. Ваш API возвращает ссылки? Если нет, то я не уверен, каким был бы «лучший подход». Если API возвращает ссылки / конечные точки самому себе, то просто добавьте имя хоста в какой-либо конфигурационный файл, который вы переопределяете в разных средах. Или используйте dotenv (версию PHP).

3. Кроме того, поскольку вы говорите «но я просто нахожу способы, которые меня не убеждают» , было бы полезно узнать, что вы нашли и почему они вас не убедили. Это помогает нам не тратить время на рекомендации решений, от которых вы уже отказались по неизвестным нам причинам.

4. версия php dotenv — это то, что я хотел бы использовать. И хорошо, что вы дали мне идею об использовании файла конфигурации только для каждой среды с URL-адресами внутри и .gitignore его. Способы, которые меня не убеждают, — это просто то, что я нашел об обратном прокси или установке nodejs на сервере. Я думаю, что попробую эти решения, спасибо, Магнус.

5. Ах, да, использование nodejs или обратного прокси для этого было бы излишеством. Я всегда создаю одну конфигурацию, которая является «глобальной» и содержит значения по умолчанию (или фиктивные значения для учетных данных и т.д., Поскольку вы не хотите, чтобы они были в вашем репозитории git), которые я храню в репозитории git. Затем я всегда создаю другую конфигурацию, содержащую все значения, зависящие от среды, и любые учетные данные. Этот мерзавец игнорируется. Затем я просто читаю оба и переопределяю значения в глобальной конфигурации с помощью env. specific config.