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

作者:mdxy-dxy 时间:2022-05-05 19:10:45 

一、配置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协议访问完成。

标签:nginx,https协议
0
投稿

猜你喜欢

  • Apache AB性能测试工具使用教程

    2023-07-21 02:24:34
  • 为什么SEO不能保证排名第一名?

    2008-12-25 09:49:00
  • 网络投票做弊工具和方法介绍

    2008-07-23 13:18:00
  • 关于网站流量的一些想法

    2008-02-15 07:39:00
  • 五招加速网页响应时间

    2009-06-01 12:14:00
  • 如何个性化设置你的Linux操作系统环境

    2009-09-20 19:39:00
  • 实战:用Linux构建高效FTP服务器

    2009-08-24 08:54:00
  • PR即将更新 大家做好准备

    2008-07-17 13:37:00
  • WordPress 3.3新功能抢先体验

    2011-10-14 20:36:22
  • 解决 XAMPP 和 VMWare 端口443冲突问题

    2022-02-11 05:43:29
  • 解析SupeSite7.0模板样式之资讯分类篇

    2009-09-26 18:21:00
  • 说说我为什么喜欢用wordpress建站

    2010-03-26 21:08:00
  • 从迅雷新首页猜测迅雷业务的拆分

    2008-07-18 12:27:00
  • linux中mac地址绑定方法

    2022-01-18 19:24:21
  • 开始博客赚钱之前,需要考虑的7件事情

    2008-03-20 10:09:00
  • 将你的Apache速度提高十倍的经验分享

    2023-07-18 15:20:13
  • 从收录新站点角度来说 谷歌确实比百度快

    2009-03-24 17:36:00
  • 动态URL的搜索引擎问题与优化

    2008-01-11 13:59:00
  • 我的建站经历

    2009-08-10 08:00:00
  • 标题的魅力 再说标题党之如何写好标题

    2009-09-11 16:00:00
  • asp之家 网站运营 m.aspxhome.com