Title: 502 Bad Gateway Error when Configuring base_url
in CodeIgniter with Nginx and Docker
Description:
I have a legacy CodeIgniter application running in a Dockerized environment with PHP-FPM, MySQL, and Nginx. The application works fine when I set the base_url
in application/config/config.php
to the IP address or :8086/
, but when I configure it as /
, I encounter a "502 Bad Gateway" error.
version: '3.9'
services:
app:
build:
context: .
dockerfile: dockerfile
container_name: php-fpm
volumes:
- .:/var/www/html
networks:
- mynetwork
depends_on:
- db
db:
image: mysql:5.7
container_name: database
ports:
- "3308:3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: test
MYSQL_USER: test
MYSQL_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
- ./data_dump.sql:/docker-entrypoint-initdb.d/data_dump.sql:ro
networks:
- mynetwork
nginx:
image: nginx:alpine
container_name: nginx
ports:
- "8080:80"
volumes:
- ./nginx-1.17.6/conf/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- .:/var/www/html
depends_on:
- app
volumes:
db_data:
networks:
mynetwork:
driver: bridge
FROM php:7.0-fpm
RUN docker-php-ext-install mysqli
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/freetype2 --with-jpeg-dir=/usr/include \
&& docker-php-ext-install gd
EXPOSE 9000
The Nginx server in Docker listens on port 8080 and proxies requests to the PHP-FPM container. I also have an external Nginx server on the host server, which proxies to the Dockerized Nginx server.
When I set the base_url
in application/config/config.php
to /
, I get a "502 Bad Gateway" error. However, when I set the base_url
to either the IP address or :8086/
, the application redirects correctly to the app.
$config['base_url'] = '/';
/
in the base_url
config, but not with :8086/
or the IP address?Any help or suggestions would be greatly appreciated!