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协议访问完成。
您可能感兴趣的文章:- HTTP协议简介_动力节点Java学院整理
- Java获取http和https协议返回的json数据
- Android使用http协议与服务器通信的实例
- 网络传输协议(http协议)
- Android通过HTTP协议实现上传文件数据
- 全面了解Nginx中的HTTP协议相关模块配置
- 详解HTTP协议简介
您可能感兴趣的文章
- 05-10Ubuntu系统安装ANSYS2021R1
- 05-10ANSYS2021R1安装方法Linux centos Ubuntu系统
- 11-07Linux中一对多配置日志服务器的详细步骤
- 11-07linux服务器安装SonarQube代码检测工具的详细步骤
- 11-07Apache自带的ab压力测试工具的实现
- 11-07apache虚拟主机配置的三种方式(小结)
- 11-07Linux在两个服务器直接传文件的操作方法
- 11-07xshell5使用ssh连接阿里云服务器的实现步骤
- 11-07linux查看服务器开放的端口和启用的端口多种方式
- 11-07Xshell连接centOS7并与CentOS7联网