我想測試Liferay(Liferay 7.0-ga4)的最後一個版本並將其安裝在反向代理(nginx)後面。我使用碼頭和碼頭組成測試目的,並創建一個虛擬域docker.domain.com
。執行Liferay behing Nginx反向代理
如果我直接訪問它的URL並且沒有配置反向代理,Liferay會正常工作。
另外,我有成功安裝的Liferay Nginx的服務器之後,如果我用根位置:
location/{
proxy_pass http://liferay:8080;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
凡liferay
在proxy_pass部分是在泊塢窗撰寫鏈接泊塢窗容器的名稱。和Liferay的選項:
web.server.host=docker.domain.com
web.server.protocol=http
web.server.http.port=80
在Liferay中配置反向代理。結果是正確的,如果我輸入http://docker.domain.com/
:
我可以登錄,接受條款和條件,......一切似乎都很好。
但是,當我使用不是根的位置(即/ lifeay)時,我一般都會遇到鏈接,圖像和css的問題。
隨着nginx的類似configuraion:
location /liferay {
proxy_pass http://liferay:8080;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
和增加的建議here到Liferay的配置:
portal.proxy.path=/liferay
當訪問到http://docker.domain.com/liferay
所有網址都搞砸了和CSS沒有顯示。在這裏,我附上了最終結果的截圖:
有趣的是,該行
http://docker.domain.com/liferay/liferay
哪裏「的Liferay」出現兩次在URL中。有些錯誤出現在Liferay的Tomcat的日誌:
12:48:29,019 WARN [http-nio-8080-exec-3][code_jsp:172] {code="404", msg="/liferay/o/mentions-web/css/mentions.css", uri=/liferay/o/mentions-web/css/mentions.css}
12:48:29,021 WARN [http-nio-8080-exec-8][code_jsp:172] {code="404", msg="/liferay/o/frontend-css-web/main.css", uri=/liferay/o/frontend-css-web/main.css}
....
顯然,有些文件不會被發現。我用docker github創建了一個簡單的例子來測試它,如果有人感興趣只花幾分鐘。儘管如此,我很確定我的Liferay配置中缺少某些內容,但我無法弄清楚。至少我無法在官方文檔中找到任何線索。