Nginx反向代理deeplinks Docker上的Wordpress
我正试图通过Docker在数字海洋上运行Wordpress。事情一开始进展顺利,我很快就把它安装好并运行了,配置如下:Nginx反向代理deeplinks Docker上的Wordpress,wordpress,docker,nginx,reverse-proxy,Wordpress,Docker,Nginx,Reverse Proxy,我正试图通过Docker在数字海洋上运行Wordpress。事情一开始进展顺利,我很快就把它安装好并运行了,配置如下: version: '3.3' services: wordpress: depends_on: - db image: wordpress:5.5.1-php7.2-apache container_name: wp restart: always volumes:
version: '3.3'
services:
wordpress:
depends_on:
- db
image: wordpress:5.5.1-php7.2-apache
container_name: wp
restart: always
volumes:
- ./www/wp-content:/var/www/html/wp-content
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: ${DB_PWD}
ports:
- 3010:80
networks:
- network
db:
image: mysql:5.7
container_name: db
restart: always
volumes:
- ./dbdata:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ${DB_PWD}
networks:
- network
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
container_name: pma
restart: always
ports:
- 3011:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: ${DB_PWD}
UPLOAD_LIMIT: 20000000
networks:
- network
networks:
network:
volumes:
db_data:
在数字海洋液滴上,我将Nginx配置为反向代理:
server {
listen 80;
listen [::]:80;
server_name my.test.url;
location / {
rewrite /(.*) /$1 break;
proxy_pass http://localhost:3010;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
我已经有了指向水滴IP的.test.url。
我将数据库中wp_选项表中的“siteurl”和“home”记录更新为my.test.url
这一切都很好,如果我访问my.test.url,就可以为主页提供服务。然而,当我访问一个深层链接时,比如my.test.url/example,我会被重定向到127.0.0.1/example,其中显然没有运行任何东西
我不知道如何进行;我原以为在nginx配置中设置重写规则就可以了,但唉
我应该提到的是,我想在Digital Ocean droplet上运行多个站点,每个站点都从自己的端口提供服务,所以从80端口“仅”提供服务不是一个选项
有人能给我指出正确的方向吗?事实证明,上述配置是正确的;问题是DNS错误与Wordpress permalink设置相结合,该设置在帖子名称后指示一个尾随斜杠。这导致服务器上的DNS查找失败,导致重定向到127.0.0.1