Nginx – скрипты PHP, не вызываемые из обратного прокси

Я даю ниже файл /etc/nginx/sites-available/default file

 server { listen 443 ssl; server_name example.com; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ = 404; } location /rproxy/ { proxy_pass https://example.org:8144/; } location ~ \.php$ { try_files $uri = 404; fastcgi_split_path_info ^(.+\.php)(/.+)$; .... } 

Сервер example.org:8144

имеет файлы и

  • index.php – возвращает привет
  • bonjour.php – возвращает bonjour

Теперь вот вопрос:

Если я перейду на https://example.com/rproxy он быстро вернет привет мир – ожидаемый результат.

Однако, если я просматриваю https://example.com/rproxy/bonjour.php (или даже https://example.com/rproxy/index.php ), я получаю 404 error .

Я понимаю, что здесь происходит. Моя конфигурация Nginx приводит к тому, что экземпляр example.ru Nginx пытается найти все *.php файлы локально (т.е. на example.com ), который не работает, когда файл, который я ищу, на самом деле находится на example.org:8144 .

Я полагаю, что существует относительно простой способ рассказать Nginx когда НЕ пытаться выполнить файл PHP – когда это действительно на rproxy. Тем не менее, мои знания о путанице Nginx слишком ограничены для меня, чтобы понять, как я изменяю конфигурацию. Я был бы самым обязанным всем, кто мог бы сказать мне, как изменить конфигурацию, чтобы это не происходило.


Я должен прояснить кое-что здесь:

Мне нужно иметь возможность запускать PHP-скрипты на обоих SERVERS example.com и example.org .

Здесь очень простое решение – я использую другое расширение, например php5, для скриптов php на прокси-сервере, example.org. Однако это легко может привести к непредвиденным проблемам.

Related of "Nginx – скрипты PHP, не вызываемые из обратного прокси"