Linux下nginx配置https协议访问的方法

 更新时间:2016年07月26日 14:24:30   投稿:mdxy-dxy  
这篇文章主要介绍了Linux下nginx配置https协议访问的方法,需要的朋友可以参考下

一、配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module

查看nginx编译参数:/usr/local/nginx/sbin/nginx -V

如下所示:

configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35

如果没有--with-http_gzip_static_module这个参数,需要重新编辑nginx

二、防火墙开启https协议默认端口443

vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下代码

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

:wq! #保存退出

service iptables restart #重启防火墙

三、创建https证书

确保机器上安装了openssl和openssl-devel

yum install openssl openssl-devel #CentOS使用yum命令安装

mkdir /usr/local/nginx/conf/ssl #创建证书存放目录

cd /usr/local/nginx/conf/ssl #进入目录

创建服务器私钥:openssl genrsa -des3 -out server.key 1024 #根据提示输入证书口令

创建签名请求的证书(CSR):openssl req -new -key server.key -out server.csr #输入上面设置的口令

#根据提示输入相应的信息

Country Name (2 letter code) [XX]:cn #国家

State or Province Name (full name) []:zhejiang #省份

Locality Name (eg, city) [Default City]:hangzhou #城市

Organization Name (eg, company) [Default Company Ltd]:osyunwei #公司

Organizational Unit Name (eg, section) []:sys #部门

Common Name (eg, your name or your server's hostname) []:osyunwei #主机名称

Email Address []:[email protected] #邮箱

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:123456 #证书请求密钥,CA读取证书的时候需要输入密码

An optional company name []:osyunwei #公司名称,CA读取证书的时候需要输入密码

openssl rsa -in server.key -out server_nopassword.key #对key进行解密

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

#标记证书使用上述私钥和CSR

四、修改nginx配置文件,加载ssl证书

vi /usr/local/nginx/conf/nginx.conf #编辑

listen 80;

listen 443;

ssl on;

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

ssl_certificate_key /usr/local/nginx/conf/ssl/server_nopassword.key;

fastcgi_param HTTPS $https if_not_empty; #有https协议时自动使用https,否则忽略这个参数。

:wq! #保存退出

service nginx restart #重启nginx

rewrite ^(.*) https://www.osyunwei.com$1 permanent; #可以把http协议重定向到https上面

使用https协议打开网址,如下图所示:

至此,Linux下nginx配置https协议访问完成。

相关文章

  • linux下终端分屏使用的两种方法(screen和tmux)

    linux下终端分屏使用的两种方法(screen和tmux)

    这篇文章主要给大家介绍了关于在linux下终端分屏使用的两种方法,分别是利用screen和tmux,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • apache开启伪静态的方法分享

    apache开启伪静态的方法分享

    这篇文章主要介绍了apache开启伪静态的方法分享,需要的朋友可以参考下
    2014-03-03
  • linux系统用户管理与grep正则表达式示例教程

    linux系统用户管理与grep正则表达式示例教程

    这篇文章主要给大家介绍了关于linux系统用户管理与grep正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux系统具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • linux 类型  版本 内存 磁盘 查询命令介绍

    linux 类型  版本 内存 磁盘 查询命令介绍

    这篇文章介绍了linux 类型 、版本、内存、磁盘 查询命令,希望本篇文章可以帮助到大家的学习,喜欢本篇文章可以收藏一下方便下次浏览
    2021-11-11
  • linux最快的文本搜索神器ripgrep(grep的最好代替者)

    linux最快的文本搜索神器ripgrep(grep的最好代替者)

    这篇文章主要介绍了linux最快的文本搜索神器ripgrep(grep的最好代替者),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • linux上TCP connection timeout问题解决办法

    linux上TCP connection timeout问题解决办法

    这篇文章主要介绍了 linux上TCP connection timeout问题解决办法的相关资料,需要的朋友可以参考下
    2017-04-04
  • Linux在两个服务器直接传文件的操作方法

    Linux在两个服务器直接传文件的操作方法

    scp是 secure copy 的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令,这篇文章主要介绍了Linux在两个服务器直接传文件的操作方法,需要的朋友可以参考下
    2022-08-08
  • Linux通过配置静态IP解决无法访问网络问题的教程详解

    Linux通过配置静态IP解决无法访问网络问题的教程详解

    Linux系统安装成功之后只是单机无网络状态,我们需要配置Linux静态IP来确保服务器可以正常连接互联网,下面就跟随小编一起学习一下如何配置静态IP来解决无法访问网络的问题吧
    2023-11-11
  • centos8自定义目录安装nginx(教程详解)

    centos8自定义目录安装nginx(教程详解)

    这篇文章主要介绍了centos8自定义目录安装nginx的详细教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • linux中SUID,SGID与SBIT的奇妙用途详解

    linux中SUID,SGID与SBIT的奇妙用途详解

    这篇文章主要给大家介绍了关于linux中SUID,SGID与SBIT的奇妙用途的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-09-09

最新评论