有几个方法,你可以去解决你的问题,
最简单的一种是使用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),或更小,更容易安装解决方案,如Deis或Dokku。您可以阅读this article,它会引导您GitLab + GitLab CI +注册+ Dokku,一个设置在这里你可以使用git push origin master
注部署JHipster应用:我建议不要在生产中使用的开发概况。为了不断更新您的应用程序日志,请考虑特定的后台配置或解决方案,如JHipster控制台(ELK堆栈)
(1)我已经用这种方式设置了nginx。 (2)我需要知道如何调整Undertow(jioster的开发应用程序服务器)的配置,以便知道要在HTTP响应中提供给客户端的URL。目前它告诉客户从127.0.0.1获取,这显然不起作用。 (3)这是针对我的应用的测试/ QA实例,所以dev配置文件没问题。生产实例当然会使用prod配置文件。 – allquixotic
我不确定你到底在找什么。在角度客户端中设置的url,或者您正在使用EMails并获得127.0.0.1,或者您正在使用HATEOAS并获取基本url的127.0.0.1?请指定 –
原来我的问题与代理设置无关。在我从JDL重新生成文件后,它现在工作正常。 – allquixotic