我正在服务器上运行三个wordpress应用,所有内容都配置了docker和traefik(https://traefik.io/),用于托管代码并转发至https。 为了在wordpress中存档正确的资源转发,我将“ home”和“ siteurl”设置为我的https域。
它似乎部分起作用,我正在为一个bug苦苦挣扎,在其中找不到一些资源。举一个例子:一个被请求的图像是:http://92.xx.xx.xx:xxxx/wp-content/uploads/2018/06/agency-seo-desk-front.jpg-> IP和端口来自服务器,是的,正确的WP应用程序->正确的请求URL应该是:https://myDefinedURL.com/wp-content/uploads/2018/06/agency-seo-desk-front.jpg
由于traefik配置为仅允许https,因此无法在IP和端口下找到该映像。 这个问题在我的所有三个应用程序中都显示出来:https://anotherAPP.com->轻敲菜单项“ home”->转发到serverIP和端口...(错误)
我希望这很清楚,我不确定在哪里设置此附加IP,我也尝试过wp_options中的upload_url_path设置,它没有帮助。
WP版本5.1 Avada版本:5.8.2
此处是dco文件应用配置:
version: '3.4'
services:
#DATABASES
mysql:
image: mysql:5.7
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
restart: always
volumes:
- ./dbs/mysql/db:/var/lib/mysql
- ./dbs/mysql_init:/docker-entrypoint-initdb.d
ports:
- 127.0.0.1:3306:3306
environment:
MYSQL_ROOT_PASSWORD: <hereIsACorrectMYSQLPW>
MYSQL_USER: <hereIsACorrectMYSQLUser>
MYSQL_PASSWORD: <hereIsACorrectPW>
#WORDPRESS
<APPNAME>:
build: ./wordpress/domain1/wordpress
restart: always
networks:
- web
- default
volumes:
- ./wordpress/app1/wordpress/data:/var/www/html/
- ./wordpress/app1/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
depends_on:
- mysql
environment:
SERVER_NAME: domain1.com
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_USER: <hereIsACorrectUserName>
WORDPRESS_DB_PASSWORD: <hereIsACorrectPW>
WORDPRESS_DB_NAME: <hereIsACorrectDBName>
labels:
- "traefik.docker.network=web"
- "traefik.enable=true"
- "traefik.basic.frontend.rule=Host:domain1.com, www.domain1.com"
- "traefik.basic.port=80"
- "traefik.basic.protocol=http"
- "traefik.frontend.redirect.entryPoint=https"
和traefik dco:
services:
traefik:
image: traefik:1.5.4
restart: always
ports:
- 80:80
- 443:443
networks:
- web
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/traefik/traefik.toml:/traefik.toml
- /opt/traefik/acme.json:/acme.json
container_name: traefik
networks:
web:
external: true
traefik toml文件:
debug = true
logLevel = "INFO"
defaultEntryPoints = ["https","http"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
regex = "^http://(www.)?(app1.net|app2.com|app3.com)/(.*)"
replacement = "https://$1$2/$3"
permanent = true
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[retry]
[docker]
endpoint = "unix:///var/run/docker.sock"
watch = true
exposedByDefault = false
[acme]
email = "meineEmail"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"
#[acme.tlsChallenge]
非常感谢
最佳D