提问人:Jonathan Rendón 提问时间:9/20/2023 最后编辑:Jonathan Rendón 更新时间:9/20/2023 访问量:92
使用 Docker 在域中具有子目录的 Apache 反向代理
Apache Reverse Proxy with a subdirectory in domain using Docker
问:
我在带有 CloudLinux 的专用服务器中使用 Docker,并且正在尝试在容器内设置 WordPress。问题是,当输入URL:https://domain:8088/subfolder 时,它会将我重定向到 https://domain:8088。
我已经在以下路线中进行了配置:
/etc/apache2/conf.d/userdata/ssl/2_4/{user}/{domain}/
app.conf 文件,其中有以下反向代理设置。
app.conf
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
#Redirect requests to /subfolder to the subfolder container on port 8088
ProxyPass /subfolder http://domain:8088/
ProxyPassReverse /subfolder http://domain:8088/
<Location />
Order allow,deny
Allow from all
</Location>
#Redirect traffic from http to https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{domain}/$1 [R=301,L]
docker-compose.yml
version: '3'
services:
wordpress:
image: wordpress:php8.2-apache
container_name: aqmunwp
ports:
- "8088:80"
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: root
WORDPRESS_DB_NAME: wordpress
working_dir: /var/www/html/
volumes:
- {URL}:/var/www/html/
links:
- mysql:mysql
mysql:
image: mysql:8.0.13
container_name: aqmunwpdb
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: root
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
我已经设法使反向代理工作,如果我输入域/子文件夹 url,它会将我重定向到 wp-admin/install,但使用端口,即 domain:8088/wp-admin/install。你知道它是如何隐藏的吗?
编辑:app.conf
ServerName domain
ProxyPass /dir/ http://domain:8088/
ProxyPassReverse /dir/ http://domain:8088/
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/dir(/.*)?$ https://domain/dir$1 [R=301,L]
答: 暂无答案
评论