Прочтите переменную среды ОС (Linux и MA C), чтобы не отображать IP-адреса и учетные данные серверной части в angular 9 - PullRequest
4 голосов
/ 10 июля 2020

Я пытаюсь собрать и развернуть свой проект angular 9 в производственной среде. Основная цель - защитить IP-адрес и учетные данные моих внутренних служб, поскольку эти среды не могут быть открыты для кого-либо из-за проблем с безопасностью. Build and Serve отлично работает для текущих настроек, но проблема в том, что я не могу получить доступ / прочитать переменные среды, кроме той, которую я создал с помощью оболочки. Только я могу прочитать значение переменной TEST1 , но BASE_URL и NOTIFICATION_URL показывает undefined. Одна важная вещь заключается в том, что я понятия не имею о переменной среды системной ОС и не могу ли она работать в производственной сборке. Я просто погуглил и создал эти переменные в оболочке, и эхо показывает значение правильно, но я не уверен, что я в порядке. Пожалуйста, предложите мне подходящий способ или в настоящее время, где я допустил ошибку. А как насчет производства?

Созданные мной переменные оболочки:

переменные оболочки

Пользовательский Webpack

const webpack = require('webpack');

module.exports = {
    plugins: [new webpack.DefinePlugin({
        'process.env': {
            BASE_URL: JSON.stringify(process.env.BASE_URL),
            NOTIFICATION_URL: JSON.stringify(process.env.NOTIFICATION_URL),
            TEST1: JSON.stringify(process.env.TEST1)
        }
    })]
}

typings.d.ts

// @ts-ignore
declare var process: Process;

interface Process {
    env: Env
}

interface Env {
    BASE_URL: string
    NOTIFICATION_URL: string
    TEST1: string
}

interface GlobalEnvironment{
    process: Process;
}

среда .prod.ts

export const environment = {
    production: true,
    baseUrl: `${process.env.BASE_URL}`,
    notificationUrl: `${process.env.NOTIFICATION_URL}`,
    test: `${process.env.TEST1}`,
};

1 Ответ

0 голосов
/ 26 июля 2020

ЧТОБЫ УСТАНОВИТЬ переменные среды постоянно на сервере

редактировать /etc/environment

Вставить:

BASE_URL=http://localhost:8080/
TEST_URL=http://localhost:8080/

Сохранить

Применять при текущем запуске: source /etc/environment

Примечание. Когда вы вводите sh в машину и используете export TEST = test, тогда будет создана переменная среды всего сеанса, доступ к которой могут получить только команды в этом сеансе. И он будет удален после закрытия сеанса s sh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...