当前位置:   article > 正文

Nginx使用SSL加密并隐藏真实地址详细教程_nginx 隐藏真实的url

nginx 隐藏真实的url


  • nginx安装默认不带SSL模块,使用https需要自己添加此模块。
  • 使用nginx的rewrite功能,可以将http重写至https,从而使用SSL加密,加强了网页的安全性;https再代理到提供服务的真实ip与端口,实现隐藏真实地址的功能,思维流程见下图。

在这里插入图片描述


一、nginx安装ssl模块

  • 下载openssl并解压
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar zxvf openssl-1.0.1t.tar.gz
  • 1
  • 2
  • 配置NGINX模块
cd [your nginx source folder]
./configure --with-http_ssl_module --with-openssl=/home/openssl-1.0.1t
  • 1
  • 2
  • 编译
make -j2
make install
  • 1
  • 2

二、配置server模块,实现http重写到https

首先说一下zhengxh.work是用于示例的web服务的域名。

server {
    listen   80; //监听80端口,http的默认端口就是80
    server_name  zhengxh.work; //配置需要重写的域名
    location / {
       rewrite ^(.*) https://$server_name$1 permanent; //把所有访问http的请求重写至https。
       }
   }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

三、https代理提供服务的真实ip与端口

# HTTPS server
    server {
       listen       443 ssl; //监听443端口,https的默认端口就是443

       ssl_certificate      cert/zhengxh.work_bundle.pem;   //添加ssl的PEM文件,申请ssl证书后可以下载此文件
       ssl_certificate_key  cert/zhengxh.work.key;  //添加ssl的KEY文件,申请ssl证书后可以下载此文件

       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;

       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;

       location / {
           proxy_pass http://10.0.4.11:8090;  //使用proxy_pass代理提供服务的真实ip与端口,实现隐藏功能
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

总结

上述配置思路非常适合WEB服务想要使用SSL加密,并隐藏真实地址的场景。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/772861
推荐阅读
相关标签
  

闽ICP备14008679号