我是靠谱客的博主 漂亮银耳汤,最近开发中收集的这篇文章主要介绍ssl证书安装完后,https访问后下载index文件,HTTP访问正常的。Nginx ssl设置后自动下载根目录的index.php而不是载入,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

给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下,配置好后,清理缓存。再试下了。

最后

以上就是漂亮银耳汤为你收集整理的ssl证书安装完后,https访问后下载index文件,HTTP访问正常的。Nginx ssl设置后自动下载根目录的index.php而不是载入的全部内容,希望文章能够帮你解决ssl证书安装完后,https访问后下载index文件,HTTP访问正常的。Nginx ssl设置后自动下载根目录的index.php而不是载入所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部