Как пробросить css с php ресурса на apache через Nginx. Сервера разные

Рейтинг: 0Ответов: 1Опубликовано: 28.07.2023

Есть машина во внутренней сети с доменом service1.mydomain.local На этой машине работает php решение и во внутренней сети всё работает. Необходимо, чтобы работало снаружи по имени service1.mydomain.com На границе с внешним миром стоит nginx, который уже пробрасываем массу ресурсов и с ними проблем не возникает. После долгих испытаний появилась стабильная конфигурация, которая хотя бы показывает содержимое ресурса, но без применения css, подгрузки картинок и т.п.

Подскажите как изменить настройки nginx, чтобы на ресурсе заработали стили, картинки и т.п.

Nginx

server {
listen 80;
server_name service1.mydomain.com;
include snippets/letsencrypt.conf;

location / {
    return 301 https://$server_name$request_uri;
}
}

server {
listen 443 ssl http2;
server_name service1.mydomain.com;
include snippets/letsencrypt.conf;

ssl_certificate /etc/letsencrypt/live/service1.mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/service1.mydomain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/service1.mydomain.com/chain.pem;

access_log /var/log/nginx/service1.access.log;
error_log /var/log/nginx/service1.error.log info;

location / {
    try_files $uri $uri/ /index.php?/$request_uri; #/index.php$args;
}

location ~ \.php$ {
proxy_pass http://service1.mydomain.local:80;
proxy_set_header Host service1.mydomain.local;  #$host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location ~ /\. {
             deny all;
    }

}

Apache

<VirtualHost *:80>
    ServerName service1.mydomain.local

    DocumentRoot /usr/share/self-service-password/htdocs
    DirectoryIndex index.php

    AddDefaultCharset UTF-8

    <Directory /usr/share/self-service-password/htdocs>
        AllowOverride None
        <IfVersion >= 2.3>
            Require all granted
        </IfVersion>
        <IfVersion < 2.3>
            Order Deny,Allow
            Allow from all
        </IfVersion>
    </Directory>

    Alias /rest /usr/share/self-service-password/rest

    <Directory /usr/share/self-service-password/rest>
        AllowOverride None
        <IfVersion >= 2.3>
            Require all denied
        </IfVersion>
        <IfVersion < 2.3>
            Order Deny,Allow
            Deny from all
        </IfVersion>
    </Directory>

    LogLevel warn
    ErrorLog /var/log/apache2/ssp_error.log
    CustomLog /var/log/apache2/ssp_access.log combined
</VirtualHost>

Ответы

▲ 0

Проблема решена. Вот в этом куске

  location ~ \.php$ {
  proxy_pass http://service1.mydomain.local:80;
  proxy_set_header Host service1.mydomain.local;  #$host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
}

location ~ /\. {
  deny all;
}

Заменил

location ~ \.php$ { 

на

location ~* \.(png|ico|gif|jpg|jpeg|css|js|php)$ {