目录
零、环境准备
虚拟机版本: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
出现日志说明网页可以被正常访问。
完