StCee asked:
When I try to set up https (let nginx listen on 443, with the ssl settings) and access my page, the quite surprising thing happens that I see my php code being displayed.
I see this in the nginx config
fastcgi_pass 127.0.0.1:9000;
Does it means nginx direct the php request to port 9000? my setting for https is like this
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;
}
BTW my original structure is haproxy to nginx. Hope someone experienced on this can enlighten me a little bit. Thanks!
My answer:
You’re missing the location ~ \.php
block which passes requests upstream to php-fpm. Copy and paste it from your server
block which serves the HTTP web site. Except for the SSL-specific settings, the two server
blocks should probably be identical.
View the full question and any other answers on Server Fault.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.