nginx 代理转发 http https 基本用法

nginx 配置http最简单的用法;

server{
   # 监听的端口
   listen      80;
   # 绑定的域名,多个用空格分开即可。
   server_name prvt.cool www.prvt.cool;
   location / {
       # 代理的地址 
       proxy_pass http://127.0.0.1:9010; 
   }
}

一般作为前置机时,还需要转发ip与host,否者不能获取真实的访问信息。

server{
   # 监听的端口
   listen      80;
   # 绑定的域名,多个用空格分开即可。
   server_name prvt.cool www.prvt.cool;
   location / {
       proxy_set_header    X-Real-IP  $remote_addr;
       proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
       proxy_set_header    Host  $http_host;
       # 代理的地址 
       proxy_pass http://127.0.0.1:9010; 
   }
}

nginx http自动跳转到https

server{
   # 监听的端口
   listen      80;
   # 绑定的域名,多个用空格分开即可。
   server_name prvt.cool www.prvt.cool;
   # 自动跳转到https
   rewrite ^(.*)$ https://$host$1 permanent;
}

nginx 配置https最简单的用法,比如您的其他服务端程序,配置证书很麻烦时,可以尝试用NGINX。

server{
        # 一般采用443,也适用其他端口
        listen      443;
        server_name prvt.cool www.prvt.cool;
        ssl on;
        
        # 可在服务商申请免费或收费的域名证书。
        # Linux 配置 pem key
        ssl_certificate /www/server/panel/vhost/cert/您证书存放的实际文件地址;
        ssl_certificate_key /www/server/panel/vhost/cert/您证书key存放的实际文件地址;
        
        # Windows 配置 pem key
        #ssl_certificate d://您证书存放的实际文件地址;
        #ssl_certificate_key d://您证书key存放的实际文件地址;
        
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;
        
        location / {
           # 代理的地址 
           proxy_pass http://127.0.0.1:9010; 
        }
    }

虚拟目录(比如说把静态资源交给nginx处理),有些服务端应用,在处理静态文件时,可能比较麻烦,也可以尝试使用这种方式。

location /upload/ {
    alias D:/website/prvt.cool/files/upload/;
}

nginx 开启缓存,减少服务端请求

proxy_cache_path 服务器物理路径/nginx-cache keys_zone=my-cache:10m use_temp_path=off;
server {

      # .... 其他配置
      
      location / {
      
         # .... 其他配置

         proxy_cache  my-cache;
         # 只缓存状态码是 200 的响应,缓存时间为 10 分钟,支持S M H
         proxy_cache_valid 200 10M;
         
         # 代理的地址 
         proxy_pass http://127.0.0.1:9010;
      }
}


人人为我,我为人人,欢迎您的浏览,我们一起加油吧。

相关文章

nginx 服务器配置https时如何重定向http

为了网络访问的安全性,https被更多的网站所使用,现在开发App,微信小程序都固定为使用https的访问,让访问更安全,但同时也得处理http请求,使它重定向,方便官网的访问。nginx 服务器配置...

nginx配置https详解

要在Nginx上配置HTTPS,需要进行以下步骤:获取证书和密钥文件 在使用HTTPS之前,需要先获取SSL证书和密钥文件。可以通过购买证书或者使用自签名证书来获取,证书和密钥文件可以通过各种方式获取...

Nginx: 最常见的 2 种 http to https 跳转场景

Nginx: 最常见的 2 种 http to https 跳转场景建议点击 查看原文 查看最新内容。原文链接: https://typonotes.com/posts/2023/08/28/ngin...

nginx配置https的详细流程

1、下载SSL证书2、两个证书放在cert目录上然后放到nginx 与nginx.conf同目录下3、去nginx解压目录下执行./configure --with-http_ssl_module如果...

如果你搞个网站要http访问又要https访问咋个搞?

实际工作中不知道你遇没遇到这种问题:客户要求微信公众号菜单的配置链接采用https访问微信的接口对接自己服务器采用的是http访问然后只给了一个端口8088这种能不能实现http能够访问到服务内容,h...

Nginx部署ssl证书开启https简要教程

ssl证书分收费的,和免费的,当然这里会给普通用户介绍免费就可以用的。关于什么是SSL证书,什么是https的基础问题,这里不作赘述,需要补课的同学可以自行搜索学习。本篇直接给出简便快捷实现目标的工具...