簡體   English   中英

Apache2主機后面的Wordpress容器無法提供靜態文件

[英]Wordpress container behind Apache2 host can't serve static files

我在裝有Apache 2.4的主機中有一個帶wordpress:latest的Docker容器。

我在vhost組內的Apache配置文件中添加了以下vhost

ProxyPass http://localhost:8010
ProxyPassReverse http://localhost:8010

當我嘗試訪問URL時,我可以訪問wordpress主頁,但是所有靜態文件都指向localhost,因此我的布局無法正常工作。

我想念什么? 在Apache進行一些設置? WordPress本身?

Apache模塊已啟用。

編輯1:忘了提及:這部分配置在Location指令內部,在vhost指令內部。

<VirtualHost *:80>
    ...
    <Location /usa>
        RequestHeader set X-Is-Reverse=Proxy true
        RequestHeader set X-Original-Host mysite.com.br
        ProxyPass http://localhost:8010
        ProxyPreserveHost On
        ProxyPassReverse http://localhost:8010
     </Location>
     ...
</VirtualHost>

如果您像這樣將代理傳遞到后端,則將在發送給您容器的請求中將Host標頭設置為localhost 顯然,WordPress容器負責設置主機以生成靜態資產鏈接。 嘗試設置以下代理選項:

ProxyPreserveHost On

ProxyPass配置行之后。 此選項將來自客戶端的Host HTTP標頭轉發到代理連接。 這樣,后端將了解從哪個公共URL進行調用,並且資產鏈接應該是正確的。

編輯。

如果您不能使用ProxyPreserveHost指令,則可以嘗試使用以下ProxyPreserveHost直接設置Host標頭:

RequestHeader set Host "your.host.name"

檢查wordpress中的“ Site URL設置是否與您的客戶呼叫的URL相匹配。 這是有關如何在wordpress中更改站點URL的文檔: https : //codex.wordpress.org/Changing_The_Site_URL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM