通过nginx反向代理时,PHP无法执行

时间:2018-10-20 00:02:55

标签: php nginx

我正在通过nginx将443端口上的流量反向代理到运行在8080端口上的apache服务器。如果我直接通过8080端口访问phpinfo()文件,则php将执行,但是如果我通过443端口访问,我得到了PHP文件的纯文件下载。通过反向代理访问php时如何执行?

nginx服务器阻止

server {

  listen 80;
  listen [::]:80;

  server_name cloud.foo.com;

  return 301 https://$server_name$request_uri;

}


server {
  listen 443 ssl;
  listen [::]:443 ssl ipv6only=on;

  server_name cloud.foo.com;

  ssl_certificate /etc/letsencrypt/live/cloud.foo.com/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/cloud.foo.com/privkey.pem; # managed by Certbot
  include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

  location / {
    proxy_pass         http://127.0.0.1:8080/;

    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_pass_header  Authorization;
  }

}

apache2虚拟主机配置

Listen 8080

<VirtualHost *:8080>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

0 个答案:

没有答案