2016-11-14 94 views
0

我用jhipster创建了一个框架应用程序,并添加了一些import-jdl的权限。现在我试图运行dev配置文件,并将其托管在localhost:8080上,这很好。但我想通过nginx将它代理到公共互联网,并将其放在SSL后面。jHipster开发人员配置文件反向代理?

现在,如果我使用Tomcat作为应用程序服务器,则可以将属性设置为Connector,以告知应用程序服务器其面向公众的URL是什么,以便它可以正确地为客户端生成URL。

但我不知道应用程序服务器jioster用于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的工作。

这需要您的应用程序在localhost的端口8080上运行,当您在本地启动时,情况如何。这进一步要求你在你的服务器上安装java和更多的东西。

更好的方法是使用docker选项来创建泊坞窗图像。有很多方法可以处理docker镜像,比如公共存储库作为DockerHub以及私有解决方案,比如GitLab Container注册表。至少你可以通过在某些服务器上使用ssl服务registry docker image来实现这个诀窍,将其用于私有注册。 然后,您至少可以将您的应用部署到与上面所述相同的nginx配置,将流量引导到正在运行的码头容器。有了这个,你只需要一个任意运行docker和nginx的linux发行版。

为了获得CI/CD系统的强大功能,您可以部署这些图像复杂的系统,如kubernetes,还要泊坞窗群(+ Docker Shipyard),或更小,更容易安装解决方案,如DeisDokku。您可以阅读this article,它会引导您GitLab + GitLab CI +注册+ Dokku,一个设置在这里你可以使用git push origin master

部署JHipster应用:我建议不要在生产中使用的开发概况。为了不断更新您的应用程序日志,请考虑特定的后台配置或解决方案,如JHipster控制台(ELK堆栈)

+0

(1)我已经用这种方式设置了nginx。 (2)我需要知道如何调整Undertow(jioster的开发应用程序服务器)的配置,以便知道要在HTTP响应中提供给客户端的URL。目前它告诉客户从127.0.0.1获取,这显然不起作用。 (3)这是针对我的应用的测试/ QA实例,所以dev配置文件没问题。生产实例当然会使用prod配置文件。 – allquixotic

+0

我不确定你到底在找什么。在角度客户端中设置的url,或者您正在使用EMails并获得127.0.0.1,或者您正在使用HATEOAS并获取基本url的127.0.0.1?请指定 –

+0

原来我的问题与代理设置无关。在我从JDL重新生成文件后,它现在工作正常。 – allquixotic