`
jjjssh
  • 浏览: 74108 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

nginx设置http https共存

阅读更多
先前是已经安装了nginx,没有安装ssl模块
所以先给nginx安装ssl模块

1.看下编译安装nginx的时候,都编译安装的哪些模块。
[root@zabbix ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx


2.进入之前下载并解压了的源码包目录;重新编译nginx
[root@zabbix nginx-1.8.0]# cd /usr/local/src/nginx-1.8.0
[root@zabbix nginx-1.8.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@zabbix nginx-1.8.0]# make

注意:这一步千万不能 make install ;不然会把之前已经安装的nginx 覆盖掉

3.需要替换nginx二进制文件,先停止掉nginx进程;备份一下原来的启动脚本。
[root@zabbix nginx-1.8.0]# /etc/init.d/nginx stop
[root@zabbix nginx-1.8.0]# cp /etc/init.d/nginx /etc/init.d/nginx.bak
[root@zabbix nginx-1.8.0]# cp objs/nginx /usr/local/nginx/sbin/
cp: overwrite `/usr/local/nginx/sbin/nginx'? yes


4.查看nginx的模块,看下是否把需要的模块编译进去了
[root@zabbix ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module



5.重新启动nginx;
[root@zabbix nginx-1.8.0]# /etc/init.d/nginx start


好了,此时已经给nginx安装了ssl模块,下面要为nginx生成ssl证书
6.首先执行如下命令生成一个key
openssl genrsa -des3 -out ssl.key 1024


7.然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后再删掉。
mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key


8.然后根据这个key文件生成证书请求文件
openssl req -new -key ssl.key -out ssl.csr

以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)

9.最后根据这2个文件生成crt证书文件
openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

这里365是证书有效期。这个大家随意。最后使用到的文件是key和crt文件。

10.如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx


好了,至此生成完证书的生成,下面进行nginx配置文件修改,使其拥有https访问能力

11.修改nginx.conf
server {
        ssi on;
        listen       80;
        listen 443 ssl;

        ssl_certificate /opt/deploy/cert/ssl.crt;
        ssl_certificate_key /opt/deploy/cert/ssl.key;



12.重启nginx
sbin/nginx -s reload


好了,至此nginx就能通过http和https访问了











分享到:
评论

相关推荐

    详解nginx同一端口监听多个域名和同时监听http与https

    主要介绍了详解nginx同一端口监听多个域名和同时监听http与https的相关资料,需要的朋友可以参考下

    Linux系统中设置多版本PHP共存配合Nginx服务器使用

    主要介绍了Linux系统中设置多版本PHP共存配合Nginx服务器使用的技巧,依靠php-fpm工具来进行管理,需要的朋友可以参考下

    Linux服务器下Nginx与Apache共存的实现方法分析

    本文实例讲述了Linux服务器下Nginx与Apache共存的实现方法。分享给大家供大家参考,具体如下: 同一个端口是不能同时有两个程序监听的。所以换个思路解决同一台服务器下某些网站运行在nginx下,某些网站运行在Apache...

    phpStudy 最新 Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend 稳定 强大

    1、全面适合 Win2000/XP/2003/win7/win8/win2008 操作系统 ,支持Apache、IIS、Nginx和LightTPD。 2、该程序包集成以下软件,括号内为phpstudy下对应的目录。 php 7.0.12 php 5.6.27 php 5.5.38 php 5.4.35...

    使用Nginx实现服务器中多容器共存的方法

    主要介绍了使用Nginx实现服务器中多容器共存的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    niginx多php版本共存

    linux系统下web服务器 niginx多php版本共存

    IIS和apache共用80端口(共存).mht

    IIS和apache共用80端口(共存) Windows server 2003服务器上安装有默认 IIS 6,IIS运行asp程序,现需要安装apache运行php程序,想让它们同时都能通过80端口访问,设置如下:

    完美解决phpstudy安装后mysql无法启动(无需删除原数据库,无需更改任何配置,无需更改端口)直接共存

    今天学习php,当然是要先安装好运行环境了,phpstyudy是一个运行php的集成环境, 一键安装对新手很友好,与时作为一个新手,便跟着教程安装了phpstudy集成环境。 很快安装好了,嗯。对新手确实很友好。...

    Linux下多版本php共存的原理、方法

    而PHP-FastCGI运行后会通过文件、或本地端口两种方式进行监听,在Nginx中配置相应的FastCGI监听端口或文件即实现Nginx请求对PHP的解释。  既然PHP-FastCGI是监听端口和文件的,那可以让不同版本的PHP-FastCGI同时...

    nginx下安装php7+php5

    本文给大家分享的是在nginx下安装php7,并且实现与php5共存,非常的实用,有需要的小伙伴可以参考下

    dnmp:Docker LNMP(Nginx,PHP7PHP5,MySQL,Redis)

    - -DNMP项目特点:100%开源100%遵循Docker标准支持多版本PHP共存,可任意切换(PHP5.4、PHP5.6、PHP7.1、PHP7.2、PHP7.3)支持绑定任意多个域名支持HTTPS和HTTP/2PHP源代码、MySQL数据、配置文件、日志文件都可在...

    lnmp安装多版本PHP共存的方法详解

    查找lnmp的install.sh...5.在/usr/local/nginx/conf 下会多一个enable-php5.6.conf   需要修改nginx配置,找到include enable-php.conf; 修改为include enable-php5.6.conf;   重新启动sudo lnmp restart 8.停

    Linux系统下多版本php共存的解决方案(超简单)

    – nginx 1.10.1 – mariadb-10.0.26 – php 7.0.8 为了更好兼容旧的php程序,推荐使用5.4.45. 主要是兼容mysql扩展。 开始安装 首先要下载php-5.4.45.tar.gz源码包。 通过源码安装 # tar xzvf php-5.4.45.tar.gz...

    宝塔Linux面板 2.8.9稳定版介绍

    PHP5.2 – 7.1(安装时可选,支持多版本共存,除php7.0,php7.1都已包含zendloader) MySQL5.5 – 5.7(安装时可选) Pure-Ftpd phpMyadmin WEB在线面板 系统要求: 内存:128M以上,推荐512M以上 磁盘:至少4GB可用...

    phpStudy V8.0版本

    3. 在不同站点可以选择不同版本php互不影响(PHP多版本共存) 4. 修改网站自动同步到Apache、Nginx 5. 网站信息以表格的形式展示,同时网站表格中对站点进行控制 6. 网站增加到期时间,贴合开发环境 7. 添加伪...

    CentOS下与Apache连接的PHP多版本共存方案实现详解

    只要是php-fpm,基本上都是与nginx搭配。查了一大批相关资料,写本文总结一下。 apache下有多个fastCGI的支持方案:至少有mod_fcgi、mod_fastcgi(git)、mod_proxy_fcgi等。这两个模块都有点老,尤其mod_fastcgi...

    PhpStudy8.0.1.zip

    QQ群及论坛技术,可以一键创建网站、FTP、数据库、SSL,更能够实现安全管理,计划任务,文件管理,PHP多版本共存及切换;并且自带LNMP与LAMP,是非常方便、好用的PHP调试环境。 与上一版本相比,phpstudy v8.1采用...

Global site tag (gtag.js) - Google Analytics