Linux配置https服务

版权声明:转发原创文章请复制文章链接地址 https://blog.csdn.net/weixin_42579642/article/details/84793132

首先说明一点,并不是仅仅配置就可以使用真正的https服务,因为需要向证书颁发机构申请SSL证书

首先生成私钥和csr文件

切换到某个目录,在linux机器上执行以下命令生成私钥

openssl genrsa -out server.key 2048

然后在linux机器上执行以下命令生成csr文件

openssl req -new -key server.key -out certreq.csr

以下标识文字仅供参考,请根据商户自己实际情况进行填写

Country Name: CN                      //您所在国家的ISO标准代号,中国为CN

State or Province Name:beijing       //您单位所在地省/自治区/直辖市

Locality Name:beijing                //您单位所在地的市/县/区

Organization Name: liminghulian                //您单位/机构/企业合法的名称 

Organizational Unit Name: dev         //部门名称 

Common Name: www.liminghulian.com     //通用名,例如:www.liminghulian.com。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。

Email Address:                          //您的邮件地址,不必输入,直接回车跳过

"extra"attributes                        //以下信息不必输入,回车跳过直到命令执行完毕。

执行上面的命令后,在当前目录下即可生成私钥文件server.key和certreq.csr csr文件

以腾讯云的服务器作为参考

 

 

 

 

然后按要求把解析域名配置好,最后会得到以下界面

把证书下载下来会得到nginx中的两个文件如图

将这两个文件放到自己定义的目录,这里我放到的目录是  /https/ 

配置参考如下:

server {
    listen 443;
    server_name mobai.luomengyuan.cn;
    access_log /data/wwwlogs/access_nginx.log combined;
    root /data/wwwroot/mobaidanche/laravel/public;
    index index.html index.htm index.php;
    ssl on;    #开启ssl支持

    ssl_certificate      /https/1_mobai.luomengyuan.cn_bundle.crt;    #指定服务器证书路径

    ssl_certificate_key  /https/2_mobai.luomengyuan.cn.key;    #指定私钥证书路径

    ssl_session_timeout  5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;     #指定SSL服务器端支持的协议版本

    ssl_ciphers ECDHE-RSA-AES128-GCM- 
    SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

    ssl_prefer_server_ciphers   on;
    location ~ [^/]\.php(/|$) {
      #fastcgi_pass remote_php_ip:9000;
      fastcgi_pass unix:/dev/shm/php-cgi.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
      #pathinfo 支持开始  以上配置信息根据实际情况配置
      fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
      fastcgi_param PATH_INFO $fastcgi_path_info;
      fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
      #pathinfo 支持结束
   }
   location / {
                        #如果没有找到请求的文件
                       if (!-e $request_filename){
                            #rewrite ^(.*)$ /index.php?s=/$1 last;
                            #重写   正则匹配   重定向后的地址
                            rewrite ^(.*)$ /index.php/$1 last;
                        }
        }
}

做完以上工作后测试nginx配置文件无误后重新载入配置,如果需要配置通过http访问时自动跳转到https 可以在80端口对应的虚拟主机配置中设置

server {
    listen 80;
    server_name mobai.luomengyuan.cn; 
    rewrite ^(.*) https://mobai.luomengyuan.cn$1 permanent;
}

猜你喜欢

转载自blog.csdn.net/weixin_42579642/article/details/84793132