While GET http://localhost:8000/up php artisan serve
(locally) I get response
While GET https://example.com/api/up I get response
While GET https://example.com/api2/up get {"error":"The route up could not be found."}
Please> help with fix this error, I spend all day on it =(
Api1 -> Laravel 5.3, PHP 7.0.33 Api2 -> Laravel 10, PHP 8.3.1
Configs below:
Dockerfile:
FROM php:8.3-apache
# set main params
ENV APP_HOME /var/www/html
ENV USERNAME=www-data
ARG HOST_UID=1000
ARG HOST_GID=1000
RUN apt update
RUN apt upgrade -y
RUN apt install -y sudo
RUN apt install -y nano
RUN apt install -y cron #
RUN apt install -y wget #
RUN apt install -y curl #
RUN apt install -y libcurl4-openssl-dev #
RUN apt install -y libmcrypt-dev #
RUN apt install -y libzip-dev #
RUN apt install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev #
RUN apt install -y libonig-dev #
RUN apt install -y libpq-dev #
RUN apt install -y libxml2-dev #
RUN docker-php-ext-install curl #
RUN docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/
RUN docker-php-ext-install gd #
RUN docker-php-ext-install mbstring #
RUN docker-php-ext-install pdo_pgsql #
RUN docker-php-ext-install xml #
RUN docker-php-ext-install dom #
RUN docker-php-ext-install zip #
RUN docker-php-ext-enable curl #чтобы компорез шустро фурычил
RUN docker-php-ext-enable gd #
RUN docker-php-ext-enable mbstring #
RUN docker-php-ext-enable pdo_pgsql #
RUN docker-php-ext-enable xml #
RUN docker-php-ext-enable dom #
RUN docker-php-ext-enable zip #
RUN rm -rf /tmp/*
RUN rm -rf /var/list/apt/*
RUN rm -rf /var/lib/apt/lists/*
RUN apt clean
RUN rm -rf ${APP_HOME}/*
RUN mkdir -p ${APP_HOME}/public && \
mkdir -p /home/$USERNAME && \
chown $USERNAME:$USERNAME /home/$USERNAME && \
usermod -o -u $HOST_UID $USERNAME -d /home/$USERNAME && \
groupmod -o -g $HOST_GID $USERNAME && \
chown -R ${USERNAME}:${USERNAME} $APP_HOME
# disable default site and delete all default files inside APP_HOME
RUN rm /etc/apache2/sites-available/000-default.conf
RUN rm /etc/apache2/sites-available/default-ssl.conf
RUN rm /etc/apache2/sites-enabled/000-default.conf
COPY php.ini /usr/local/etc/php/php.ini
COPY apache/apache2.conf /etc/apache2/apache2.conf
COPY apache/server.conf /etc/apache2/sites-available/server.conf
COPY apache/envvars /etc/apache2/envvars
RUN a2ensite server.conf
# enable apache modules
RUN a2enmod rewrite
RUN a2enmod ssl
RUN mkdir /root/.postgresql
COPY ymdb.pem /root/.postgresql/root.crt
RUN chmod 0600 /root/.postgresql/root.crt
COPY ./cron /etc/cron.d/crm-cron
RUN chmod 0600 /etc/cron.d/crm-cron # Give execution rights on the cron job
RUN touch /var/log/cron.log
RUN mkdir -p ${APP_HOME}/public && chown -R ${USERNAME}:${USERNAME} ${APP_HOME}
COPY --chown=${USERNAME}:${USERNAME} --chmod=777 . ${APP_HOME}/
COPY --chown=${USERNAME}:${USERNAME} --chmod=777 .env.production ${APP_HOME}/.env
RUN mkdir ${APP_HOME}/storage
RUN mkdir ${APP_HOME}/storage/logs
RUN mkdir ${APP_HOME}/storage/sessions
RUN mkdir ${APP_HOME}/storage/views
RUN mkdir ${APP_HOME}/storage/cache
nginx.conf:
server {
listen *:80;
listen *:443 ssl;
server_name example.com;
access_log /var/log/nginx/crm.access.log;
error_log /var/log/nginx/crm.error.log;
gzip on;
location /api {
proxy_connect_timeout 1200;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
proxy_pass http://api/;
}
location /api2 {
proxy_connect_timeout 1200;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
proxy_pass http://api2/;
}
location / {
proxy_pass http://crm/;
}
}
apache.conf:
<VirtualHost *:80>
ServerName localhost
ServerAdmin [email protected]
DocumentRoot /var/www/html/public
#ErrorLog /dev/stderr
#CustomLog /dev/stdout combined
<Directory /var/www/html>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Problem was with nginx! Was:
location /api2 {
proxy_connect_timeout 1200;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
proxy_pass http://api2/;
}
need:
location ^~ /api2/ {
proxy_connect_timeout 1200;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
proxy_pass http://api2/;
}