https配置好后,访问时变成下载文件。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了https配置好后,访问时变成下载文件。相关的知识,希望对你有一定的参考价值。

现在弄好的情况是,http 可以正常访问,https 访问的时候就会变成下载文件。后来我尝试在根目录下放置一个 index.html,https 就能正常访问出这个 html 文件的内容了。(我原来的入口文件是 index.php ),我想知道我 apache 上还有什么没配置好。

参考技术A 问题在于在https server 中没有解析php的代码块
server
listen 443 ssl;
server_name localhost;
ssl on;
ssl_certificate /usr/local/nginx-1.5.1/conf/server.crt;
ssl_certificate_key /usr/local/nginx-1.5.1/conf/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location /
root /usr/local/nginx-1.5.1/html;
index index.html index.htm hello.php index.php;


location ~ .*\.(php|php5)?$
root /usr/local/nginx-1.5.1/html/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param HTTPS on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
#new line
include fastcgi.conf;


红色部分就是用来解析php的追问

请问红色部分是哪部分。。。我这里看到的都是黑色字

linux nginx 443端口访问

  • 我是在阿里云上配置443端口 首先点击SSL证书这里 再选择已签发证书下载 就会让你选择下载证书的类型 我这里是nginx 就选择nginx版本下载 如果没有就需要购买了 技术分享图片
  1. 下载好后解压完成是这样的文件技术分享图片
  2. 需要把他上传到阿里云的服务器上
    #mkdir /usr/local/nginx/conf/cert #我这里nginx是编译安装
    #cd /usr/local/nginx/conf/cert
    #mv ~/214xxxxxxxxxxxxx.key cert .
    #mv ~/214xxxxxxxxxxxxx.pem cert .
    #cat nginx.conf
    user nginx;
    worker_processes 4;
    error_log /usr/local/nginx/logs/error.log;
    pid conf/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  /usr/local/nginx/logs/access.log  main;
    
       sendfile        on;
       #tcp_nopush     on;
    
       #keepalive_timeout  0;
       keepalive_timeout  65;
    
       #gzip  on;
    
       include /usr/local/nginx/conf/conf.d/*.conf;                        #我这里跳转到了另一个文件
        }

    #cat conf.d/xxx.conf
    server {
    listen 80;
    server_name xxxx.com; #域名
    rewrite ^(.*)$ https://${server_name}$1 permanent; #重定向
    }
    server {
    listen 443;
    server_name xxxx.com; #域名
    ssl on;
    ssl_certificate cert/214xxxxxxxxxxxxx.pem; #文件位置
    ssl_certificate_key cert/214xxxxxxxxxxxxx.key; #同上
    ssl_session_timeout 5m;
    ssl_ciphers xxxxx-xxx-xxx128-xxx-xxx256:xxxxx:xxxxx:xxx:xxxx:!NULL:!aNULL:!MD5:!ADH:!RC4; # 秘钥 我这个是从阿里云上获取的
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #协议
    ssl_prefer_server_ciphers on;
    index index.php index.htm index.html;
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

     location ~ .php$ {                                                                    #我这里还有配置php
         root           /opt/www;                                                            #网站位置 
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
     }
     location / {
        root /opt/www;                                                                       #网站位置
        index index.php index.html index.htm;
        if (!-e  $request_filename) {
        rewrite ^(.*)$ /index.php$1 last;                            
    }

    }
    }

以上是关于https配置好后,访问时变成下载文件。的主要内容,如果未能解决你的问题,请参考以下文章

linux nginx 443端口访问

eclipse中创建包时变成文件夹,且文件夹内的类无法被其他类引用

java连接sqlserver数据简单操作

如何为自己的WordPress站点安装SSL证书开启https访问

VS2017 配置 boost_1_70

下载https文件并打包成ZIP