`

nginx + PHP 下 添加 https 的支持

阅读更多
1.   创建key
server.key 可以随意修改server部分。例如:baidu.key
openssl genrsa -des3 -out server.key 2048
输入密码即可。
如果不要口令,则可用以下命令去除口令:
    openssl rsa -in server.key -out server.key
2.  创建 csr

server.key为创建key时输入的文件名:baidu.key

server.csr 可以随意修改server部分。例如:baidu.csr

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

按流程填写,如

Country Name (2 letter code) [GB]: JP      //国家 例如  :CN
State or Province Name (full name) [Berkshire]:Tokyo  // 州或省的名称,必须是全称
Locality Name (eg, city) [Newbury]:Bunkyo-ku   // 城市名称
Organization Name (eg, company) [My Company Ltd]: BaiDu   // 公司名称
Organizational Unit Name (eg, section) :BAIDU  //项目名称
Common Name (eg, your name or your server's hostname) []:abc.com    //项目url。例如:baidu.com  不包含http://
Email Address []:youxiang@sina.com   // 注意邮件地址要和注册域名时的邮件地址一样


Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:  回车
An optional company name []:  回车

3. 通过  server.key   server.csr  在相应的网站申请 证书

如: http://www.startssl.com/

http://ocsp.godaddy.com/
申请成功后会得到两个文件:

gd_bundle.crt   abc.com.crt

4.  设置nginx的配置

上传 gd_bundle.crt   abc.com.crt 文件至 nginx的配置目录下   /usr/local/nginx/conf

执行


cat abc.com.crt gd_bundle.crt > abc.com.chained.crt

Nginx的配置如下:

    server {
        listen       443;
        server_name  ttt.e.com;


        ssl                  on;
        ssl_certificate      /usr/local/nginx/conf/abc.com.chained.crt;
        ssl_certificate_key  /usr/local/nginx/conf/abc.com.key;
        ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers          HIGH:!aNULL:!MD5;

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

        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_param HTTPS on;
            include fastcgi.conf;
        }
    }

5.  验证

执行

openssl s_client -connect www.godaddy.com:443
最后访问  https://abc.com  如果能看到证书的信息,而且连接都正常就OK了。


注意:

安装nginx 时要加上https模块,编译时:


./configure --with-http_sub_module --with-http_ssl_module

可以用  /usr/local/nginx/sbin/nginx -V  来查看。


生成证书不被信任的 证书。也就是测试版测试用的,不用花钱就可以有的证书,这样的证书是不被浏览器认可的,但是 测试是没有问题的


$ cd /usr/local/nginx/conf

$ openssl genrsa -des3 -out server.key 1024

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

$ cp server.key server.key.org

$ openssl rsa -in server.key.org -out server.key

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out

server.crt

编辑

nginx.conf

server {

    server_name YOUR_DOMAINNAME_HERE;

    listen 443;

    ssl on;

    ssl_certificate /usr/local/nginx/conf/server.crt;

    ssl_certificate_key /usr/local/nginx/conf/server.key;

}

OK,

完成了


http://blog.csdn.net/cuiyuan9/article/details/8280872
分享到:
评论

相关推荐

    Web环境搭建:Linux+Nginx+PHP+Mysql+Redis

    ### Web环境搭建:Linux+Nginx+PHP+MySQL+Redis #### 一、环境概述与推荐版本 在构建一个高效且稳定的商城系统时,选择合适的Web环境至关重要。本指南将介绍一套广泛应用于电商平台的技术栈——**Ubuntu + PHP + ...

    Linux实验-自动部署Nginx+PHP服务器.rar

    4. **配置Nginx**:编辑Nginx配置文件`/etc/nginx/nginx.conf`,添加一个location块,用于处理PHP请求。 ``` location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param ...

    Nginx+PHP+MySQL详细配置(图)

    2. 在Nginx的配置文件(如`/usr/local/nginx/conf/nginx.conf`)中添加如下段落: ```nginx http { ... # PHP配置 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; # PHP-FPM监听的IP和端口 fastcgi_index ...

    Linux下Nginx+PHP+MySQL配置(图)

    4. **配置Nginx**:编辑Nginx配置文件(通常是`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`),添加一个server块,指定监听端口(通常80),并设置文档根目录,如`/var/www/html`。 5. **配置...

    安装windows 下 php7+nginx+fastcgi

    在Windows环境下搭建PHP7、Nginx和FastCGI服务器是一项常见的任务,尤其对于开发者来说,这能够让他们在本地环境中快速测试PHP应用。下面将详细解释这个过程中的关键知识点。 首先,**PHP7**是PHP...

    构架Nginx+PHP(Fastcgi)+MySQL+Memcache高性能web服务器

    为了使Nginx能够与PHP进行通信,需要在Nginx配置文件中添加以下内容: ```nginx location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$...

    Linux+Apache+Nginx+Mysql+PHP完美配置教程

    在配置Linux服务器以支持LAMP(Linux, Apache, MySQL, PHP)环境时,我们需要进行一系列的准备工作和安装步骤。以下是一个详细的步骤指南: **一、准备工作** 1. **安装编译工具** 在Linux系统中,通常使用GCC和...

    Nginx+php(FastCGI)一键安装

    2. 配置Nginx以支持PHP:编辑`/etc/nginx/conf.d/php.conf`,添加以下内容: ``` location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php-fpm.sock; } ``` ### 三、...

    nginx+php配置环境+源软件包

    本教程将详细讲解如何在Windows环境下配置nginx和PHP,以及如何使用提供的源软件包进行安装。 首先,我们来了解下核心组件: 1. **Nginx**:Nginx是一款高性能的HTTP和反向代理服务器,以其事件驱动的架构和低内存...

    nginx+php+oracle安装配置

    在IT行业中,构建高效稳定的Web服务常常涉及到多个组件的集成,比如`nginx`、`php`和`oracle`。这个组合通常用于构建一个强大的后端系统,能够处理大量的并发请求,执行复杂的PHP脚本,并与Oracle数据库进行高效的...

    centos下安装配置nginx+mysql+php环境

    ### CentOS 下安装配置 Nginx + MySQL + PHP 环境 #### 一、安装 MySQL 在 CentOS 下安装 MySQL 的过程主要包括用户与用户组的创建、配置安装路径、编译安装以及配置 MySQL 服务等步骤。 ##### 1.1 建立相关用户...

    nginx+php+memcache

    配置Nginx以支持PHP,需要在Nginx配置文件中添加适当的location块,指定PHP处理器的位置,如`fastcgi_pass 127.0.0.1:9000;`。 3. **Memcache**:Memcache是一个高性能的分布式内存对象缓存系统,用于减少数据库...

    PHP高级工程师必知必会Nginx+keepalived+MongoDB+haproxy+Sphinx实现分布式集群部署实战视频

    ### PHP高级工程师必知必会:Nginx + keepalived + MongoDB + haproxy + Sphinx 实现分布式集群部署实战 #### 一、引言 随着互联网应用的不断发展,单体应用已经无法满足大规模高并发场景的需求。分布式系统通过将...

    windows下 php环境部署 nginx+php-nts+fcgi

    在Windows环境下搭建PHP开发环境,通常会选择集成的服务器软件,如XAMPP或者WAMP,但若希望更灵活地配置和优化,单独安装Nginx、PHP(Non Thread Safe,即NTS版本)以及FastCGI是更好的选择。这篇博客(...

    window下手动搭建 PHP+Nginx+Mysql

    在Windows环境下手动搭建PHP+Nginx+MySQL是一个常见的任务,主要应用于个人开发环境的搭建或者小型项目的本地测试。这个过程涉及到三个关键组件:PHP(一种服务器端脚本语言)、Nginx(一个高性能的Web服务器)和...

    linux+nginx+php配置

    这里安装了PHP-FPM(FastCGI Process Manager),它是Nginx与PHP交互的桥梁,同时安装了PHP的MySQL模块,以便支持数据库操作。 #### 知识点二:Nginx与PHP的配置 **1. 配置Nginx** Nginx的主配置文件通常位于`/...

    MiniServer v2.0 php运行环境(Apache+Nginx+MySQL+PHP)

    MiniServer是一款绿色、精简、迷你的WANMP(Windows+Apache+Nginx+MySQL+PHP)服务端程序,使用本工具可以非常方便的搭建网站服务器。 重要说明: 由于MiniServer包含组件比较复杂,所以每次更新都会或多或少对其...

    Linux源码安装MySQL+MySQL主从+Nginx+Nginx负载均衡+redis+php+phpredis+tomcat

    在本教程中,我们将深入探讨如何在Linux环境中源码安装MySQL、MySQL主从复制、Nginx、Nginx负载均衡、Redis、PHP、phpredis以及Tomcat。这些技术是构建高效、可扩展的Web应用架构的基础。让我们逐一了解安装过程。 ...

Global site tag (gtag.js) - Google Analytics