nginx 代理 http、https 配置

  • http配置
  • ssl https 配置
  • nginx 部署安装在之前的文章中已有教程,这里不再叙述,详情访问:nginx在centos7环境下安装
  • 本文主要讲述配置代理,包含http 、https代理,配置文件在 nginx 安装目录下的 conf/nginx.conf ,
  • 如果想了解配置文件参数详情详见:nginx在centos7环境下安装
  • 按照nginx在centos7环境下安装,nginx 安装目录为 /usr/local/nginx 。如需查找用命令: whereis nginx

http配置

  • 编辑 conf/nginx.conf

     cd /usr/local/nginxvim conf/nginx.conf
    
  • 如下图所示,这里新增了8082端口的代理模块,listen 参数为配置端口,location / 为代理地址前缀(为保证安全可移除),保存重启nginx 后, 浏览器访问 ip:8082 就能看到代理页面。

    listen 8082:代表监听 8082 端口
    server_name test:代表外网访问的域名
    location / {}:代表一个过滤器,/匹配所有请求,我们还可以根据自己的情况定义不同的过滤,比如对静态文件js、css、image制定专属过滤
    root html:代表站点根目录
    index index.html:代表默认主页

  • 每个代理模块可以配置多个代理地址,如下图所示,代理前缀为event,代理地址为 http:127.0.0.1:8081/event,重启nginx服务后,浏览器打开 ip:8082/event 即可看到系统界面。

    location /{}:代表过滤器,用于制定不同请求的不同操作
    proxy_pass:代表后端服务器组名,此组名必须为后端服务器站点域名

        server {listen       8082;server_name  test;location / {root   html;index  index.html index.htm;}location /event{proxy_pass http://127.0.0.1:8081/event;proxy_set_header Host $http_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;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_connect_timeout 4s;proxy_read_timeout 120s;proxy_send_timeout 12s;}}

ssl https 配置

  1. 配置 ssl 之前,先保证nginx 安装了ssl模块,详情在 nginx在centos7环境下安装。

  2. 生成证书

    • 确定是否安装 openssl

      which openssl
      # 或者
      openssl version
      
    • 如果没有安装,通过apt-get或者yum等方式安装即可

       sudo apt-get install openssl
      
    • 进入nginx 安装目录,创建key文件夹并进入

      cd /usr/local/nginx
      mkdir key
      cd key
      
    • 生成一个名为“ssl.key”的 RSA key文件:执行结果:生成ssl.pass.key 和 ssl.key

        openssl genrsa -des3 -passout pass:casia -out ssl.pass.key 2048openssl rsa -passin pass:casia -in ssl.pass.key -out casia-ssl.key
      

    • 删除中间文件

      rm ssl.pass.key
      
    • 利用已经生成的 ssl.key 文件,进一步生成 ssl.csr 文件

      openssl req -new -key casia-ssl.key -out casia-ssl.csr
      

    • 执行此行命令会提示输入密码,按回车即可,因为前面我们在生成 ssl.key 时选择了密码留空。 最后我们利用前面生成的 ssl.key 和 ssl.csr 文件来生成 ssl.crt 文件,也就是自签名的 SSL 证书文件:

      openssl x509 -req -days 3650 -in casia-ssl.csr -signkey casia-ssl.key -out casia-ssl.crt
      

    • 这一步之后,我们得到一个自签名的 SSL 证书文件 ssl.crt,有效期为 3650 天。此时,ssl.csr 文件也已经不再被需要,可以删除掉了

      rm ssl.csr
      
    • 将.crt的ssl证书文件转换成.pem格式

      openssl x509 -in casia-ssl.crt -out casia-ssl.pem
      

    • 删除 casia-ssl.crt casia-ssl.csr

      sudo rm -rf casia-ssl.crt casia-ssl.csr
      
    • 自此证书生成完毕,开始配置代理!

  3. 配置代理地址

    • 修改nginx配置文件

       cd /usr/local/nginxvim conf/nginx.conf
      
    • 增加server块,配置监听端口61231,注意端口后要加上 ssl。同时设置 ssl_certificate 参数值指向生成的 …/key/casia-ssl.pem 证书,设置 ssl_certificate_key 参数值指向生成的 …/key/casia-ssl.key 证书

       server {listen       61231 ssl;server_name  localhost;ssl_certificate      ../key/casia-ssl.pem;ssl_certificate_key  ../key/casia-ssl.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;client_max_body_size 500M;location / {root   html;index  index.html index.htm;proxy_set_header Host $http_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;}}
    - 保存重启nginx,浏览器访问 https://ip:61231 即可看到信息页面!
    

nginx 代理 http、https 配置相关推荐

  1. 配置nginx代理实现https访问

    配置nginx代理实现https访问 Google宣布从Chrome网络浏览器的下一个稳定版本(90)开始,将为地址栏中输入的所有URL网址默认选择HTTPS协议.这意味着未启用HTTPS的网站的打开 ...

  2. 阿里云个人站点基于nginx代理搭建https协议支持

    阿里云个人站点基于nginx代理搭建https协议支持 准备工作 购买免费个人版dv证书 配置nginx 开放防火墙端口 检测是否成功 准备工作 1.个人服务器 2.安装了ssl_moudle的ngi ...

  3. Nginx下的https配置

    https: https(Secure Hypertext Transfer Protocol) 安全超文本传输协议 它是以安全为目标的http通道,即它是http的安全版,它使用安全套接字层(SSL ...

  4. Nginx之原理,限流,日志切割,正反代理,HTTPS配置

    文章目录 1 Nginx原理 1.1 Nginx怎么处理请求 1.2 Nginx是如何实现高并发 1.3 Nginx高可用性怎么配置 1.4 为什么Nginx不使用多线程 1.5 Nginx动态资源. ...

  5. Nginx代理缓冲proxy_buffering配置

    什么是代理缓冲 Nginx作为一个常用的反向代理,提供了代理缓冲的功能.它允许nginx将server端的响应读取下来缓存在本地内存或磁盘中,再已合适的速度发送给客户端. 为什么要有代理缓冲 在互联网 ...

  6. nginx 代理的简单配置

    以下配置在 nginx.conf 修改 提供简单的静态服务 http{events {worker_connections 1024; ## Default: 1024 //必须设置事件}server ...

  7. nginx代理 指向_nginx配置url重定向-反向代理

    本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com  IP: 192.168.10.128 apache主机,hostname: c ...

  8. Nginx 代理以及HTTPS (二)

    一.HTTPS解析 https 加密 私钥 公钥 http 的握手 是确认网络是连通的. https 的握手 是一个加密的过程 加密图 二. 使用Nginx 部署HTTPS 服务 1.证书生成命令(h ...

  9. Nginx跨域解决配置示例

    简介 在日常学习和工作开发中,需要请求两个不同配置的请求经常存在,本文介绍如果还使用Nginx配置解决其跨域问题 相关理论 首先需要了解什么是跨域,下面的两个文章说的很好,请仔细阅读后,然后自己去动手 ...

  10. nginx 1.14 php,nginx 1.14.0 配置部署 thinkphp 5.1

    开始接触NGINX,配置tp5配了半天,找不到具体原因,于是用网上搜索到的配置复制粘贴搞定. 感谢 https://blog.csdn.net/qq_36431213/article/details/ ...

最新文章

  1. windows10 自动开机、关机
  2. 用 Flask 来写个轻博客 (17) — MV(C)_应用蓝图来重构项目
  3. li浮动时ul自适应高度方法
  4. HOMEBREW安装之后需要需要把他安装到路径之中
  5. 短视频技术详解:Android端的短视频开发技术
  6. java实现缓存方式_【Java】【器篇】【缓存】一个轻量的缓存实现方式
  7. socket 编程入门教程(一)TCP server 端:4、构造函数涉及的概念
  8. docker 定时重启脚本_使用 Go 添加启动脚本
  9. 【编程训练-考研上机模拟】综合模拟2-2019浙大上机模拟(晴神)
  10. C++学习之Dev-C++安装与调试
  11. 2013年最新最热播的电影 合集
  12. java中的IO流之文件复制
  13. 【Python】- yield 使用浅析
  14. micropython thread_功能更新!C 函数也能在 MicroPython 中被调用啦
  15. C++ 取模、求余运算
  16. 开发中使用第三方工具/服务
  17. 12306列车时刻表查询api功能实现
  18. 元宇宙火了,智能家居跟不跟?
  19. 基于Verilog HDL的数字时钟
  20. Vj程序设计复杂模拟题训练

热门文章

  1. Java并发——AQS、AQS到底什么是AQS?这玩意干啥的?
  2. patho爬虫-爬取--华夏基金代码
  3. 第3-7课:推箱子游戏
  4. 梦幻西游手游服务器维护公告,梦幻手游1月25日维护公告:新春活动开启
  5. Improve Performance of C++ Codes (1) -- 使用初始化列表还是赋值语句?
  6. 计算机科学 浙江大学 机器学习,浙江大学计算机科学技术学院博士研究生导师简介:蔡登...
  7. win7Aero效果的网卡驱动
  8. 利用webhook实现发送通知到倍洽 BearyChat
  9. Dozer 时间转换问题
  10. XP系统测试显示器软件在哪,WinXP系统下如何检测显示器白点