使用nginx的http_ssl模块搭建加密认证网站

目录

零、环境准备

一、关闭防火墙和selinux

1.关闭防火墙

2.关闭selinux

二、远程连接并传输html文件

1.使用Xshell远程连接192.168.48.130

2.使用xftp传输html文件

三、创建私钥并生成证书

1.创建私钥

2.生成证书,完善信息

3.去除私钥口令

四、下载安装nginx

五、修改配置文件

1.修改配置文件

2.检查配置文件是否正确

3.重启nginx服务

六、验证网页是否可访问

1.浏览器输入网址验证

2.查看访问日志


零、环境准备

虚拟机版本:openEuler 22.03. LTS  

虚拟机服务端ip:192.168.48.130/24

内网穿透软件:贝锐花生壳

web网页:自备

远程登录软件:Xshell

文件传输助手:xftp

贝锐花生壳的映射设置如下:

一、关闭防火墙和selinux

1.关闭防火墙
systemctl stop firewalld
systemctl status firewalld
2.关闭selinux

检查SELINUX状态

getenforce

如果没有显示Disabled,而是显示enforcing,可以修改selinux的配置文件 永久关闭selinux。

cat -n /etc/selinux/config
vim /etc/selinux/config

将SELINUX=enforcing修改为SELINUX=disabled

修改后重启虚拟机,再次检查selinux是否关闭。

注意,这里使用openeuler修改配置文件重启就能马上生效,因为openeuler22.03是基于linux5的,而有些高版本号虚拟机,比如redhat9,rocky linux9等不支持修改配置文件关闭selinux,需要修改内核参数,这里不做讲解。

二、远程连接并传输html文件

1.使用Xshell远程连接192.168.48.130
ssh root@192.168.48.130

2.使用xftp传输html文件

先创建一个存放HTML文件的目录:

mkdir -p /www/web150

使用xftp将HTML文件传输到该目录下,检查文件目录:

ls /www/web150

html存放路径:/www/web150

后面会用到。

三、创建私钥并生成证书

1.创建私钥

创建私钥并对生成的私钥加密,这里的密码用于访问私钥,密码随便设,这里密码设为:elysia

openssl genrsa -aes128 2048 > /etc/nginx/web150.key

证书的绝对路径为: /etc/nginx/web150.crt

私钥的绝对路径为:/etc/nginx/web150.key 

后面会用到。

2.生成证书,完善信息

依次填入证书内包含的个人信息(实验配置,不必当真):

openssl req -utf8 -new -key /etc/nginx/web150.key -x509 -days 365 -out /etc/nginx/web150.crt

3.去除私钥口令

在加载支持ssl的nginx私钥时必须去除必要的口令,也就是刚才创建私钥时设置的密码elysia

需要该密码才能查看私钥,现在将其备份后去除。

cd /etc/nginx/
cp web150.key web150.key.org    #备份
openssl rsa -in web150.key.org -out web150.key    #去除私钥口令

输入密码elysia

四、下载安装nginx

yum install -y nginx

检查nginx是否包含 --with-http_ssl_module 模块,没有就下载

nginx -V     #大写V
yum install -y mod_ssl

五、修改配置文件

1.修改配置文件

修改/etc/nginx/nginx.conf配置文件

vim /etc/nginx/nginx.conf

消除第56行后面的所有注释

修改以下字段并删除不必要字段:

server_name  _;      #修改为虚拟机的ip
root         /usr/share/nginx/html;      #修改为HTML文件的存放目录,这里写绝对路径
ssl_certificate "/etc/pki/nginx/server.crt";     #证书路径
ssl_certificate_key "/etc/pki/nginx/private/server.key";      #证书密钥路径

修改后的配置文件:

2.检查配置文件是否正确
nginx -t

显示successful就行

3.重启nginx服务
systemctl restart nginx

六、验证网页是否可访问

不能直接用curl,因为我们的证书并不是权威的,也就是不安全的

1.浏览器输入网址验证

任意浏览器输入https://192.168.48.150

有可能出现网站不安全的提示,我们可以下载证书到本地,导入到浏览器的证书管理目录下。

步骤:打开浏览器设置-->高级-->管理证书-->选择受信任的证书颁发机构-->导入(可以用xftp将证书传到Windows主机桌面上,然后导入证书)

证书样例:

导入证书成功后即可正常访问https://192.168.48.150

2.查看访问日志
tail -10 /var/log/nginx/access.log

出现日志说明网页可以被正常访问。

  • 15
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值