当我尝试设置 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;
}
顺便说一句,我原来的结构是 haproxy 到 nginx。希望有这方面经验的人能给我一点启发。谢谢!
答案1
您缺少location ~ \.php
将请求上游传递到 php-fpm 的块。从为server
HTTP 网站提供服务的块中复制并粘贴它。除了 SSL 特定的设置外,这两个server
块应该完全相同。