服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|

服务器之家 - 服务器系统 - Linux - Linux下nginx配置https协议访问的方法

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

2021-11-05 19:19Linux教程网 Linux

这篇文章主要介绍了Linux下nginx配置https协议访问的方法,需要的朋友可以参考下

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

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

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

如下所示:

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 #根据提示输入证书口令

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

创建签名请求的证书(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

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

四、修改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下nginx配置https协议访问完成。

延伸 · 阅读

精彩推荐
  • LinuxLinux必学的60个命令之文件处理

    Linux必学的60个命令之文件处理

    Linux 系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等...

    ChinaUnix6032019-05-19
  • Linux6个你可能不熟悉的Linux实用命令

    6个你可能不熟悉的Linux实用命令

    Linux是一个强大的操作系统,这篇文章收集了6个你可能没有用过的Linux命令,但却相当的有用,供大家参考。...

    今日头条4592020-10-29
  • LinuxLinux中使用cgroups限制cpu资源实例

    Linux中使用cgroups限制cpu资源实例

    这篇文章主要介绍了Linux中使用cgroups限制cpu资源实例,可以避免某个进程占用了所有的CPU资源,需要的朋友可以参考下 ...

    Linux教程网6372019-11-07
  • LinuxLinux查看系统信息的常用命令

    Linux查看系统信息的常用命令

    怎么查看Linux系统信息?怎么使用命令查看Linux系统版本、内核版本、CPU型号、硬盘空间、内存信息、网络信息?下面我们一起来看看详细教程,需要的朋友...

    脚本之家3922019-09-09
  • Linux.htaccess设置指南经典说明

    .htaccess设置指南经典说明

    .htaccess 会降低APACHE的性能,除非你对目录权限要求很高或需要做UrlRewrite,否则不推荐你使用. ...

    Linux教程网4282020-06-01
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5152019-11-19
  • Linuxlinux tr 文件转换的例子

    linux tr 文件转换的例子

    linux中的tr命令,可用于文件名大小写转换,只转换文件名。扩展名转换同理。其它条件同理 ...

    Linux教程网3482019-12-10
  • Linux连接Linux的服务器时使用SSH密钥认证及解决自动断连问题

    连接Linux的服务器时使用SSH密钥认证及解决自动断连问题

    这篇文章主要介绍了连接Linux的服务器时使用SSH密钥认证及解决自动断连问题的方法,主要适用于利用putty等客户端连接服务器的情况,需要的朋友可以参考下...

    风再起时4362019-07-03