Php
謎題:打開https時顯示php程式碼
當我嘗試設置 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
塊應該是相同的。