【Nginx反向代理设置以及配置自签名证书】

一、环境准备

在这里插入图片描述
192.168.253.0/24段的地址用于访问互联网,在VMware Workstation中NAT类型,下载相关软件包并且对外提供服务。
172.16.253.0/24,用于两台主机内部通信使用。在VMware Workstation中网卡类型选为LAN区段。

在这里插入图片描述

二、主机配置

(一)在主机Apache

  yum install epel-release -y
  yum install httpd -y
  systemctl start httpd
  touch /var/www/html/index.html //创建index.html
  echo hello world > /var/www/html/index.html

(二)在主机Nginx

  yum install epel-release -y
  yum install nginx -y
  systemctl status nginx
  systemctl enable nginx
  systemctl start nginx

创建或者修改/etc/nginx/conf.d/default.conf 配置文件,没有就创建,有就修改。

vim /etc/nginx/conf.d/default.conf
server {
    listen       7031; //设置nginx监听的端口为7031
    server_name  jiating.com;

    location / {
        proxy_pass http://172.16.253.129:80; //Apache主机的地址和监听的端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

如下图
在这里插入图片描述

(三)测试

打开浏览器访问http://192.168.253.130:7031,展现的就是http://172.16.253.129的界面。反向代理配置成功。
在这里插入图片描述

但是我直接访问http://172.16.253.129:80是访问不到的,也很好的保护了真实业务。
在这里插入图片描述

三、Apache主机启用ssl

http://192.168.253.130:7031,访问后端代理的apache,还不是ssl,需要在主机apache创建证书。
在这里插入图片描述

(一)安装ssl模块

 yum install openssl -y
 yum install mod_ssl -y

(二)创建私钥和证书

mkdir ~/ssl
cd ~/ssl

创建私钥
使用openssl genpkey命令生成RSA私钥,这里使用2048位长度。

openssl genpkey -algorithm RSA -out server.key -pkeyopt rsa_keygen_bits:2048

创建证书签名请求(CSR)
使用生成的私钥创建CSR,需要提供一些证书信息,如国家、省份、城市、组织名等。

 openssl req -new -key server.key -out server.csr

创建自签名证书
使用私钥和CSR生成自签名证书,有效期可以设置为一年或更长时间。

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

在这里插入图片描述

(三)修改httpd的ssl.conf文件

指定证书和密钥文件的位置

vim/etc/httpd/conf.d/ssl.conf

在这里插入图片描述

 systemctl restart httpd  //重启httpd

访问https://192.168.253.129
在这里插入图片描述
在这里插入图片描述
然后我们就可以禁用访问80端口

 vim /etc/httpd/conf/httpd.conf

注释掉 #Listen 80

就可以只访问443,无法访问到80端口。

四、OpenSSL配置自签名证书

(一)在Nginx主机安装openssl

 yum install openssl

(二)创建工作目录

mkdir ~/ssl
cd ~/ssl

(三)生成私钥

使用openssl genpkey命令生成RSA私钥,这里使用2048位长度。

openssl genpkey -algorithm RSA -out server.key -pkeyopt rsa_keygen_bits:2048

(四)创建证书签名请求(CSR)

使用生成的私钥创建CSR,需要提供一些证书信息,如国家、省份、城市、组织名等。

openssl req -new -key server.key -out server.csr

在这里插入图片描述

(五)创建自签名证书

使用私钥和CSR生成自签名证书,有效期可以设置为一年或更长时间。

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

#@# (六)修改nginx.conf文件

 vim /etc/nginx/nginx.conf

指定证书和密钥文件的位置
ssl_certificate “/root/ssl/server.crt”;
ssl_certificate_key “/root/ssl/server.key”;

 systemctl restart nginx   //重启nginx

在这里插入图片描述
访问https://192.168.253.130
在这里插入图片描述

备注

Vmware workstation LAN区段用途

在这里插入图片描述
创建好LAN区段后,虚拟机中会多出一个网卡ens36,但是没有对应的配置文件,需要手动创建配置文件并且添加IP信息。

vim /etc/sysconfig/network-scripts/ifcfg-ens36
TPROTO="static"
DEVICE="ens36"
IPADDR=172.16.253.130
NETMASK=255.255.255.0
NBOOT="yes"

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值