jHipster dev profile反向代理?

时间:2016-11-14 20:15:01

标签: jhipster

我使用jhipster创建了一个骨架应用,并添加了import-jdl的一些权限。现在我试图运行dev配置文件并将它托管在localhost:8080上,这很好。但我想通过nginx将其代理到公共互联网并将其置于SSL之后。

现在,如果我使用Tomcat作为应用服务器,我可以在proxyHost上设置Connector属性,告诉应用服务器它面向公众的URL是什么,以便为客户端生成URL正常。

但我不知道app server jhipster用于开发配置文件或如何配置它。

1 个答案:

答案 0 :(得分: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。

这要求您的应用程序在localhost上的端口8080上运行,在本地启动时会出现这种情况。这还需要您在服务器上安装java和更多内容。

更好的方法是使用docker选项创建docker镜像。有很多方法可以处理docker镜像,比如DockerHub这样的公共存储库以及像GitLab Container注册表这样的私有解决方案。至少你可以通过使用ssl在某个服务器上提供registry docker image来做一个技巧,将其用于私有注册表。 然后,您至少可以将应用程序部署到与上面所述相同的nginx配置,将流量定向到正在运行的docker容器。有了这个,你只需要一个带有docker和nginx的任意linux发行版。

要获得CI / CD系统的强大功能,您可以将这些图像部署到复杂的系统(如kubernetes),也可以部署到docker swarm(+ Docker Shipyard),或更小,更容易设置的解决方案,如{{3 }或Deis。您可以阅读Dokku,它将指导您完成GitLab + GitLab CI + Registry + Dokku的设置,您可以使用git push origin master部署JHipster应用程序

note :我建议不要在制作中使用开发配置文件。要使用应用程序日志保持更新,请将特定的logback配置或解决方案视为JHipster控制台(ELK堆栈)