Nginx

HAProxy 下載 PHP 文件而不是在瀏覽器中顯示

  • December 5, 2021

我在 Docker 上執行 nginx 和 php-fpm。當使用我的 Docker 系統的主機名 (docker1.freekb.net) 時,phpinfo.php 頁面會顯示在瀏覽器中,因此我知道我已經正確配置了 nginx 和 php-fpm 以提供 PHP 頁面。這是 /etc/nginx/conf.d/default.conf 中的伺服器塊。來自 nginx 的 80 埠的請求被轉發到 PHP 的 9000 埠。

server {
   listen              80;
   server_name         stage.freekb.net;
   root                /var/www/stage;
   index               index.html phpinfo.php;
   location / {
       try_files $uri $uri/ /index.html;
   }
   location ~ \.php$ {
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_pass 0.0.0.0:9000;
       fastcgi_index phpinfo.php;
       include fastcgi_params;
   }
}

我有 HAProxy 設置以將請求轉發到 nginx。這是我在 /etc/haproxy/haproxy.cfg 中的監聽塊。當我訪問http://haproxy.freekb.net/index.html時,會顯示 nginx 歡迎頁面,因此我知道 HAProxy 能夠將請求轉發到 nginx。

但是,當我訪問http://haproxy.freekb.net/phpinfo.php時,phpinfo.php 會下載到我的本地 PC。我懷疑這意味著 fastcgi 有問題。我不確定在使用 HAProxy 時要在瀏覽器中顯示 PHP 頁面需要進行哪些更改。

listen nginx
   bind *:80
   mode tcp
   balance roundrobin
   server nginx1 docker1.freekb.net:80 check

以防其他人找到這篇文章,我想分享我的發現。在進行 nginx/php-fpm 更改後,我沒有清除我的網路瀏覽器記憶體/歷史記錄。我所要做的就是清除我的網路瀏覽器歷史記錄,現在我可以在我的

引用自:https://serverfault.com/questions/1084156