nginx配置笔记

发布于:2024-12-06 ⋅ 阅读:(110) ⋅ 点赞:(0)

前言

  • nginx官方文档: https://nginx.org/en/docs/
  • openresty官方文档: https://github.com/openresty/lua-nginx-module

一、配置

1. 配置实例

1.1. 80端口转443

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    rewrite ^ https://$http_host$request_uri? permanent;
}

1.2. 请求url代理到另一个地址

  • proxy_pass会自动将get参数和post参数带到代理的地址去,不需要加上$query_string
location /test {
    # 代理地址如果不带后面地址,将会请求 http://127.0.0.1:1234/test
    proxy_pass      http://127.0.0.1:1234;

    # 代理地址如果带后面地址,将会请求 http://127.0.0.1:1234/aaa
    proxy_pass      http://127.0.0.1:1234/aaa;
}

# 假设请求的地址为 http://x.x.x.x/test/bbb
location /test/ {
    # 代理地址如果不带后面地址,将会请求 http://127.0.0.1:1234/test/bbb
    proxy_pass      http://127.0.0.1:1234;

    # 代理地址如果带后面地址,将会请求 http://127.0.0.1:1234/aaabbb
    # 由于location加了/,proxy_pass会删除/test/,剩下bbb拼接到后面url
    proxy_pass      http://127.0.0.1:1234/aaa;

    # 代理地址如果带后面地址,将会请求 http://127.0.0.1:1234/aaa/bbb
    proxy_pass      http://127.0.0.1:1234/aaa/;
}

1.3. 支持websocket

    map $http_upgrade $connection_upgrade {
        default          keep-alive;  #默认为keep-alive 可以支持 一般http请求
        'websocket'      upgrade;     #如果为websocket 则为 upgrade 可升级的。
    }
    ...
    server {
        listen       8002;
        listen       [::]:8002;
        server_name  localhost;

        location / {
                proxy_pass      http://127.0.0.1:8000;
     

网站公告

今日签到

点亮在社区的每一天
去签到