300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > nginx——反向代理 https加密证书 重定向

nginx——反向代理 https加密证书 重定向

时间:2019-01-25 08:54:40

相关推荐

nginx——反向代理 https加密证书 重定向

反向代理

准备:

反向代理的实现要准备两台虚拟机,一台模拟真实服务器,一台作为代理服务器,在这两台虚拟机都安装nginx,详见nginx——版本的热省级和版本回退中的安装配置,两台虚拟机安装的参数一样。

主机ip:

server1: 172.25.62.1(真实服务器)

server2: 172.25.62.2(代理服务器)

步骤:

1.在真实服务器server1上进行配置

[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf

41 set_real_ip_from 172.25.62.2;##代理主机的ip地址42 real_ip_header X-Forwarded-For;##获得客户端访问代理的请求报文头获得真实IP43 real_ip_recursive on;##打开获取功能

在server中添加real_ip等参数,这样,真实服务器的配置就完成了。

[root@server1 ~]# /usr/local/nginx/sbin/nginx -t[root@server1 ~]# /usr/local/nginx/sbin/nginx

打开nginx服务。

2.修改代理主机server2的配置

[root@server2 nginx-1.16.0]# vim /usr/local/nginx/conf/nginx.conf

upstream redhat {server 172.25.62.1:80;##真实主机的ip}

在http中添加

118server {119 listen 80;120 server_name ;##设置访问域名,直接访问这个域名访问到的是server2主机。121 122 location / {123 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;124 proxy_pass http://redhat;##这里定义的名字要和上面配置设置的相符。125 }126 }

添加虚拟主机,之后我们要实现的效果是,访问,可以访问到主机server1。

[root@server2 nginx-1.16.0]# /usr/local/nginx/sbin/nginx -t[root@server2 nginx-1.16.0]# /usr/local/nginx/sbin/nginx

同样的,打开服务就可以了

3.在两台主机的发布目录上编写测试页

如在server1:

vim /usr/local/nginx/html/index.html

里面的内容为方便测试,我就写的server1,在server2,就填server2,这样在测试时就可以准确判断访问的到底是哪台主机。

测试:

使用客户主机进行测试,测试时要先添加一下域名解析,因为我们要使用域名进行访问。

[root@foundation62 ~]# vim /etc/hosts

访问:

反向代理成功。

nginx的https加密

1.修改配置文件

[root@server1 conf]# vim /usr/local/nginx/conf/nginx.conf

108server {109 listen 443 ssl;110 server_name ;##设置访问的域名111 112 ssl_certificatecert.pem;113 ssl_certificate_key cert.pem;114 115 ssl_session_cache shared:SSL:1m;116 ssl_session_timeout 5m;117 118 ssl_ciphers HIGH:!aNULL:!MD5;119 ssl_prefer_server_ciphers on;120 121 location / {122 root /web;##设置发布目录123 index index.html index.htm;124 }125}

打开nginx的加密功能

2.创建发布目录,编写发布页

[root@server1 conf]# mkdir /web[root@server1 conf]# vim /web/index.html

3.生成加密证书

首先进入要生成证书的目录

[root@server1 conf]# cd /etc/pki/tls/certs/

[root@server1 certs]# make cert.pem

生成加密证书

生成加密证书,生成过程中要填写一些信息。

生成证书cert.pem。

之后再将将生成的证书cert.pem复制到/usr/local/nginx/conf/目录就可以了

最后重新加载配置。

测试:

首先,要在做本地解析

在浏览器输入进行测试

选择证书就可以进入页面,这样就完成了加密。

nginx的域名重定向

1.临时重定向

[root@server1 conf]# vim /usr/local/nginx/conf/nginx.conf

108server {109 listen 443 ssl;110 server_name localhost;111 112 ssl_certificatecert.pem;113 ssl_certificate_key cert.pem;114 115 ssl_session_cache shared:SSL:1m;116 ssl_session_timeout 5m;117 118 ssl_ciphers HIGH:!aNULL:!MD5;119 ssl_prefer_server_ciphers on;120 121 location / {122 root /web;123 index index.html index.htm;124 }125}126server{127 listen 80;128 server_name ;129 rewrite ^/(.*)$ /$1;130}

测试:

输入会自动定向到,302表示临时重定向

2.永久重定向

和临时重定向不同的是,永久重定向只是在rewrite后面加了一个permanent参数

测试:

301表示永久重定向。

不同域名的重定向

[root@server1 conf]# vim /usr/local/nginx/conf/nginx.conf

126server{127 listen 80;128 server_name ;129 root /bbs;130 rewrite ^/bbs$ /index.html permanent;131}

修改配置文件。

[root@server1 conf]# mkdir /bbs[root@server1 conf]# vim /bbs/index.html

创建发布目录,编写测试页。

[root@server1 conf]# /usr/local/nginx/sbin/nginx -s reload

重新加载配置。

之后在浏览器输入/bbs,可以定向到。

在进行测试时要注意是否添加了本地解析。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。