2016-11-14 2 views
0

Я создал приложение скелета с jhipster и добавил некоторые права с import-jdl. Теперь я пытаюсь запустить профиль dev, и он размещает его на localhost: 8080, и это нормально. Но я хочу проксировать его в общедоступный Интернет через nginx и поставить его за SSL.Профиль профиля jHipster dev обратного прокси?

Теперь, если я использовал Tomcat в качестве сервера приложений, я мог бы установить свойство proxyHost на Connector, чтобы сообщить серверу приложений, что его открытый URL-адрес, поэтому он правильно создает URL-адреса для клиента.

Но я не знаю, что использует сервер приложений jipster для профиля dev или как его настроить.

ответ

4

Есть несколько способов, вы можете пойти, чтобы решить вашу проблему,

Самым простым является обратный прокси-сервер с помощью Nginx, например:

server { 
    listen  [::]:80; 
    listen  80; 
    server_name your-domain.com; 

    access_log /var/log/nginx/your-app-access.log; 
    error_log /var/log/nginx/your-app-error.log; 

    return 301 https://$host:443$request_uri; 
} 
server { 
    listen  [::]:443 ssl; 
    listen  443 ssl; 
    server_name your-domain.com; 

    access_log /var/log/nginx/your-app-access.log; 
    error_log /var/log/nginx/your-app-error.log; 

    ssl_certificate  /path/to/ssl/server.crt; 
    ssl_certificate_key /path/to/ssl/server.key; 

    keepalive_timeout 70; 
    add_header   Alternate-Protocol 443:npn-spdy/2; 
    location /{ 
    proxy_pass http://jhipster; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    proxy_set_header X-Forwarded-Port $server_port; 
    proxy_set_header X-Request-Start $msec; 
    } 
} 

upstream jhipster { 

    server 127.0.0.1:8080; 

} 

, который должен работать на каждом Nginx.

Ожидает, что ваше приложение работает на порту 8080 на локальном хосте, что происходит, когда вы запускаете его локально. Кроме того, вам необходимо установить java и другие материалы на вашем сервере.

Лучше всего использовать опцию докера для создания изображений докеров. Существует множество способов обработки изображений докеров, таких как общедоступный репозиторий, как DockerHub, а также частные решения, такие как реестр GitLab Container. По крайней мере, вы можете сделать трюк, слушая registry docker image на каком-то сервере с ssl, чтобы использовать его для частного реестра. Затем вы можете по крайней мере развернуть свое приложение с той же конфигурацией nginx, как указано выше, направляя трафик на работающий контейнер докеров. При этом вам потребуется только произвольное дистрибутив Linux с докерером и nginx.

Чтобы получить мощность систем/CD CI, вы можете развернуть эти изображения в сложных системах, как kubernetes, но и докер рой (+ Docker Shipyard), или меньше и легче решений по установке как Deis или Dokku. Вы можете прочитать this article, который проведет вас через настройку GitLab + GitLab CI + Registry + Докку, где можно развернуть приложение JHipster с помощью git push origin master

примечания: Я предлагаю не использовать профиль Дев в производстве , Чтобы продолжить обновление журналов приложений, рассмотрите конкретную конфигурацию или решения для регистрации в виде консоли JHipster (ELK Stack)

+0

(1) У меня уже установлен nginx. (2) Мне нужно знать, как настроить конфигурацию Undertow (сервер приложений dev для jhipster), чтобы он знал URL-адрес, который должен дать клиенту ответы HTTP. В настоящее время он говорит клиенту, чтобы он получил от 127.0.0.1, который, очевидно, не будет работать. (3) Это для экземпляра теста/QA моего приложения, поэтому профиль dev - это хорошо. Производственный экземпляр, конечно, будет использовать профиль prod. – allquixotic

+0

Я не уверен, что именно вы ищете. URL установлен в угловом клиенте, или вы работаете с EMails и получаете 127.0.0.1 внутри, или работаете с HATEOAS и получаете 127.0.0.1 для базового url? укажите –

+0

Оказывается, моя проблема не связана с настройками прокси-сервера. Теперь он отлично работает после того, как я восстановил файлы из JDL. – allquixotic

Смежные вопросы