Подтвердить что ты не робот

Как вы обслуживаете ember-cli из https://localhost: 4200 в разработке

Чтобы наша аутентификация работала с нашим электронным приложением, мы должны обслуживать приложение с безопасного URL-адреса. У нас есть собственный сертификат ssl.

Как настроить ember-cli для обслуживания формы index.html домена https.

Приветствия

4b9b3361

Ответ 1

Также см. fooobar.com/questions/452091/....

Если вы всегда будете использовать SSL, вы можете установить "ssl": true в файле .ember-cli для своего проекта, что приведет к тому, что команда ember serve будет использовать SSL по умолчанию без необходимости передавать флаг командной строки каждый раз.

По умолчанию ember-cli будет выглядеть в папке ssl в корневом каталоге вашего проекта для файлов server.key и server.crt. но вы можете настроить это также с параметрами --ssl-key и --ssl-cert, чтобы предоставить альтернативный путь.

Если у вас еще нет собственного сертификата SSL для разработки, вы можете следовать этим инструкциям, чтобы легко сгенерировать его: https://devcenter.heroku.com/articles/ssl-certificate-self

Пример .ember-cli:

{
  "disableAnalytics": false,
  // Use SSL for development server by default
  "ssl": true,
  "ssl-key": "path/to/server.key",
  "ssl-cert": "path/to/server.crt"
}

Ответ 2

ИЗМЕНИТЬ

Для гуглеров это уже не так. Используйте ember-cli -ssl

спасибо to xdumaine 12 июля в 10:08 ***

подчеркнутый текст. Вы не можете напрямую из ember-cli не помещать свою руку в код, который я не рекомендую:)

Если вы хотите пойти таким образом, посмотрите: node_modules/ember-cli/lib/tasks/server/express-server.js и также можете быть в node_modules/ember-cli/lib/tasks/server/livereload-server.js

Для тех, кто все еще хочет пройти через веб-сервер:

Однако существуют и другие чистые решения, например, nginx как (обратный) прокси:) или когда-либо обслуживающий непосредственно из nginx в папке /dist:) Обратный базовый пример с nginx (не пробовал с ssl, но должен теоретически работать: p):

server {
   listen 443;
   server_name *.example.com;
   ssl on;
   ssl_certificate /path/to/your/certificate.crt;
   ssl_certificate_key /path/to/your/key.key;
   location / {
      proxy_pass http://localhost:4200;
   }
}

Я сказал nginx, но на самом деле любой веб-сервер может сделать трюк правильно:)

NaB НЕ ИСПОЛЬЗУЙТЕ ember serve В ПРОИЗВОДСТВЕ

Ответ 3

Я использую tunnels gem с pow port-proxying.

Обновление: подробнее

Использование реального веб-сервера (как и предыдущий ответ с nginx) - отличный способ пойти и, вероятно, больше похож на вашу производственную настройку. Тем не менее, я управляю множеством различных проектов, и я не заинтересован в управлении конфигурационным файлом nginx для всех моих проектов. Pow позволяет легко сделать много разных проектов на порту 80 на одной машине разработки.

Pow имеет два основных режима. Основная функция - простой сервер для приложений Rack, доступ к которым осуществляется через пользовательский локальный домен, например http://my-application.dev/. Это делается путем symlinking ~/.pow/my-application в каталог, содержащий приложение стойки. Однако pow также может запрашивать прокси-запросы в пользовательский локальный домен на указанный порт, создавая файл, который содержит только номер порта (например, echo 4200 > ~/.pow/my-application). Это облегчает разработку локально с фактическим доменом (также, как побочная заметка, тоже работают субдомены, что очень удобно, например, foobar.my-application.dev также будет маршрутизироваться на my-application).

tunnels позволяет легко использовать pow с https.

Настройка

# Install pow
curl get.pow.cx | sh

# Set up pow proxy for your ember app
echo 4200 > ~/.pow/my-application

# Start your ember server
ember serve # specify a port here if you used something else for pow proxy
# Check that http://my-application.dev correctly shows your ember app in the browser

# Install tunnels
gem install tunnels # possibly with sudo depending on your ruby setup

# Start tunnels
sudo tunnels

# Now https://my-application.dev should work