nginx配置修改-转发

1.编辑vi /etc/nginx/conf.d/default.conf

2.重启/usr/nginx/sbin/nginx -s reload

3. 按esc退出 插入模式 

4.输入  :wq保存退出
5.判断配置文件是否正确:

nginx -t -c /usr/local/nginx/conf/nginx.conf
或者
cd  /usr/local/nginx/sbin
./
./
6.按esc esc 退回到命令模式esc esc 退回到命令模式

7.insert编辑模式 

8.wind+s

9.查看日志tail -f /var/log/nginx/access.log

vi /etc/nginx/conf.d/default.conf

10.设置文件上传大小 client_max_body_size = 10m(按需求设定该值)

ps  -ef | grep nginx

find -name  nginx

 ps  -ef | grep nginx

 

ajax:

 

  server{
   listen       8889;
    server_name  0.com;
     include  /etc/nginx/ssl/ssl.conf;
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;


    location / {
        #root   /usr/local/tp_upload;
        index  index.html index.htm;
        proxy_pass http://8:8080;



https://www.cnblogs.com/sloong/p/cors.html


 if ($request_method = 'OPTIONS') {
                        add_header 'Access-Control-Allow-Origin' '*';
                        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,userId,systemType,authCode,systemVersion,appVersionNo';
                        add_header 'Access-Control-Max-Age' 1728000;
                        add_header 'Content-Type' 'text/plain charset=UTF-8';
                        add_header 'Content-Length' 0;
                        return 204;
                }
                if ($request_method = 'POST') {
                        add_header 'Access-Control-Allow-Origin' '*';
                        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,userId,systemType,authCode,systemVersion,appVersionNo';
                }
                if ($request_method = 'GET') {
                        add_header 'Access-Control-Allow-Origin' '*';
                        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,userId,systemType,authCode,systemVersion,appVersionNo';
                }



 

    }

 

第二个

 if ($request_method = 'OPTIONS') {
                        add_header 'Access-Control-Allow-Origin' '*';
                        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,userId,systemType,authCode,systemVersion,appVersionNo';
                        add_header 'Access-Control-Max-Age' 1728000;
                        add_header 'Content-Type' 'text/plain charset=UTF-8';
                        add_header 'Content-Length' 0;
                        return 204;
                }
                if ($request_method = 'POST') {
                        add_header 'Access-Control-Allow-Origin' '*';
                        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,userId,systemType,authCode,systemVersion,appVersionNo';
                }
                if ($request_method = 'GET') {
                        add_header 'Access-Control-Allow-Origin' '*';
                        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                        add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,userId,systemType,authCode,systemVersion,appVersionNo';
                }

### 3.1 Nginx 配置 `nginx-sticky-module-ng` 的基本要求 在配置 `nginx-sticky-module-ng` 时,前端 JSP 页面和后端 Java 应用通常不需要进行额外的代码修改,因为该模块基于 HTTP cookie 实现会话保持,无需后端应用主动参与 cookie 的生成或解析。然而,为了确保会话保持的稳定性和兼容性,仍需在前端和后端做出一些配置层面的调整。 ### 3.2 前端 JSP 页面的调整 前端 JSP 页面主要涉及浏览器行为和 HTTP 请求配置。在使用 `nginx-sticky-module-ng` 时,应确保浏览器在访问不同页面时仍然携带原有的会话 cookie。为此,可以在 Nginx 层面设置 cookie 的作用域和路径,确保其覆盖所有 JSP 页面请求路径: ```nginx upstream backend { sticky cookie srv_id expires=1h domain=.example.com path=/; server 10.0.0.1; server 10.0.0.2; } ``` 此配置确保 cookie 的 `domain` 设置为 `.example.com`,并作用于所有路径 `/`,使得页面跳转时不会丢失会话信息[^1]。此外,JSP 页面中若涉及 AJAX 请求,也应确保设置 `withCredentials = true`,以携带 cookie: ```javascript var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.open('GET', '/api/data', true); xhr.send(); ``` ### 3.3 后端 Java 应用的调整 后端 Java 应用通常无需修改代码,但需确保响应头中不覆盖或删除 Nginx 设置的会话 cookie。某些 Java Web 框架(如 Spring)在处理会话时可能会自动生成自己的 cookie(如 `JSESSIONID`),这可能会与 Nginx 的 sticky cookie 冲突。为避免冲突,应在应用配置中禁用或忽略会话 cookie 的设置。 此外,Java 应用应避免在响应中设置 `Set-Cookie` 头覆盖 Nginx 的 sticky cookie,否则可能导致会话状态不一致。可以通过 Nginx 的 `proxy_hide_header Set-Cookie;` 指令隐藏后端返回的 `Set-Cookie` 头,确保只有 Nginx 控制会话 cookie 的生成: ```nginx location / { proxy_pass http://backend; proxy_hide_header Set-Cookie; } ``` ### 3.4 Nginx 配置建议 为了确保会话保持的稳定性,建议在 Nginx 配置中启用 `sticky cookie` 并合理设置 cookie 的 `domain` 和 `path`。例如: ```nginx upstream backend { sticky cookie srv_id expires=1h domain=.example.com path=/; server 10.0.0.1; server 10.0.0.2; } server { listen 80; server_name www.example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 此配置确保所有请求路径下的页面都能正确识别 sticky cookie,从而实现会话保持[^5]。 ### 3.5 调试与验证 可以通过浏览器开发者工具检查响应头中是否包含 Nginx 生成的 sticky cookie,例如: ``` Set-Cookie: srv_id=abc123; Path=/; Domain=.example.com; Expires=Wed, 21 Oct 2023 07:28:00 GMT ``` 同时,检查后续请求是否携带该 cookie,以验证会话保持是否生效。此外,可以通过 Nginx 日志分析请求是否被正确转发到同一后端节点。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值