Php

謎題:打開https時顯示php程式碼

  • October 23, 2012

當我嘗試設置 https(讓 nginx 使用 ssl 設置監聽 443)並訪問我的頁面時,發生了一件非常令人驚訝的事情,我看到我的 php 程式碼正在顯示。

我在 nginx 配置 fastcgi_pass 127.0.0.1:9000 中看到了這一點;

這是否意味著nginx將php請求定向到埠9000?我對 https 的設置是這樣的

server {
listen 443;

ssl on;
ssl_certificate /etc/domain_com.crt;
ssl_certificate_key /etc/domain.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;

server_name domain.com;
}

順便說一句,我原來的結構是 nginx 的 haproxy。希望有這方面經驗的人能給我一點啟發。謝謝!

您缺少location ~ \.php將請求上游傳遞到 php-fpm 的塊。server從為 HTTP 網站提供服務的塊中複製並粘貼它。除了特定於 SSL 的設置外,這兩個server塊應該是相同的。

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