ssl证书安装完后,https访问后下载index文件,HTTP访问正常的。Nginx ssl设置后自动下载根目录的index.php而不是载入

版权声明:本文为博主原创文章,转载请标注出处,谢谢。 https://blog.csdn.net/qq_33182756/article/details/80781198

给Nginx安装ssl证书,https访问后,重新自动下载index.php文件。一开始的Nginx的配置文件如下:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on
上面部分代码无关,我就没有展出来

    # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  localhost;
        ssl                  on;
        ssl_certificate      server.pem;
        ssl_certificate_key  server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM; 
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

}

然后:就是出现下载文件的现象。后来百度他们说,是因为Nginx服务器没有和PHP正确通信的原因。

然后我就把上面的HTTp服务的配置,覆盖了下面的location /{} 了。后来打开后,还是出现下载问题。

nginx 和PHP通信:就是把HTTP协议下,通信的方法拿了过来。记得:location /{} 不能重复出现。

server {
        listen       443 ssl;
        server_name  localhost;
        ssl                  on;
        ssl_certificate      server.pem;
        ssl_certificate_key  server.key;


        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;


        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM; 
        ssl_prefer_server_ciphers  on;


        location ~ \.php{
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
            fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加这一句  
            fastcgi_param PATH_INFO $fastcgi_path_info;    #增加这一句
            include        fastcgi_params;
            fastcgi_param HTTPS on; 
        }
        location / {
            root   html;
                index  index.php index.html index.htm;
            if (!-e $request_filename){
                rewrite ^/(.*)$ /index.php/$1 last;
                }
        }


        location ~* \.(jpg|jpeg|png|gif|webp)$ {
                expires 30d;
            }       
        location ~* \.(css|js)$ {
                expires 7d;
            }
    }

这就奇了怪了,为什么呢?他们说有可能是谷歌浏览器的缓存问题。然后我就换成其他浏览器了 ,再重新打开就好了。真是一亿万个无语啊。

大家在记得在server下,配置好后,清理缓存。再试下了。

猜你喜欢

转载自blog.csdn.net/qq_33182756/article/details/80781198