2016-11-14 29 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

相關問題