502 Bad Gateway-Fehler beim Konfigurieren von base_url in CodeIgniter mit Nginx und DockerPhp

PHP-Programmierer chatten hier
Guest
 502 Bad Gateway-Fehler beim Konfigurieren von base_url in CodeIgniter mit Nginx und Docker

Post by Guest »

Titel: 502 Bad Gateway Error when Configuring base_url in CodeIgniter with Nginx and Docker

Beschreibung:
Ich habe eine ältere CodeIgniter-Anwendung, die in einer Docker-Umgebung mit PHP-FPM, MySQL und Nginx läuft. Die Anwendung funktioniert gut, wenn ich die base_url in application/config/config.php auf die IP-Adresse oder http://domain_name.example.in:8086/ setze, aber wenn ich Wenn Sie es als https://domain_name.example.in/ konfigurieren, tritt der Fehler „502 Bad Gateway“ auf.
Einrichtungsdetails:
  • Docker Compose-Konfiguration:

Code: Select all

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
  • PHP-FPM Docker-Datei:

Code: Select all

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
  • Nginx-Konfiguration:
Der Nginx-Server in Docker lauscht auf Port 8080 und leitet Anfragen per Proxy an den PHP-FPM-Container weiter. Ich habe auch einen externen Nginx-Server auf dem Hostserver, der als Proxy zum Docker-Nginx-Server fungiert.
  • Cloudflare-Konfiguration:< /strong>
  • Ich verwende Cloudflare mit flexiblem SSL, wobei Cloudflare die SSL-Beendigung übernimmt und den Datenverkehr über HTTP an meinen Server weiterleitet .
Problem:
Wenn ich die Basis-URL in application/config/config.php auf https://domain_name.example.in/ setze , ich erhalte die Fehlermeldung „502 Bad Gateway“. Wenn ich jedoch base_url entweder auf die IP-Adresse oder http://domain_name.example.in:8086/ setze, leitet die Anwendung korrekt zur App weiter.

Code: Select all

$config['base_url'] = 'https://domainname.in/';
Was ich versucht habe:
  • Es wurde sichergestellt, dass sowohl Nginx im Docker-Container als auch der externe Nginx-Server auf dem Der Host ist für die ordnungsgemäße Weiterleitung von Anfragen konfiguriert.
  • Überprüft, dass die Ports für Nginx und PHP-FPM offen und zugänglich sind.
  • Überprüfte Cloudflare-SSL-Einstellungen ( Flexibles SSL ist aktiviert).
  • Bestätigt, dass mein externer Nginx-Server Anfragen korrekt an den Docker-Nginx-Container weiterleitet.
  • Es wurde sichergestellt, dass sowohl die Basis-URL als auch die SSL-Konfigurationen in der App und in Nginx korrekt sind.
Fragen:
  • Warum erhalte ich bei der Verwendung den Fehler 502 Bad Gateway? https://domain_name.example.in/ in der base_url-Konfiguration, aber nicht mit http://domain_name.example.in:8086/ oder der IP-Adresse?
    Könnte das Problem mit der flexiblen SSL-Konfiguration von Cloudflare zusammenhängen oder handelt es sich um eine Nginx-Fehlkonfiguration?
  • Muss ich bestimmte Anpassungen an meiner Nginx-Konfiguration vornehmen? um die HTTPS-Anfragen von Cloudflare richtig zu verarbeiten?
Jede Hilfe oder Anregung wäre sehr dankbar!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post