关于 nginx proxy_set_header 的问题

先上配置文件。

 worker_processes  2; 
events { 
    worker_connections  1024; 
} 

http { 
    include       mime.types; 
    default_type  application/octet-stream; 
    sendfile        on; 
    keepalive_timeout  65; 

    upstream ab{ 
            server 10.32.4.202:7010;
            server 10.32.4.202:7011;
    } 

    server {    #Nginx代理服务器 
            listen       80; 
            server_name  10.0.0.102; 

        location / { 
                proxy_set_header Host 10.32.4.202:7010;
                    proxy_pass  http://ab;
                } 

        error_page   500 502 503 504  /50x.html; 
        location = /50x.html { 
            root   html; 
        } 

    }
} 

用户访问10.0.0.102,代理到10.32.4.202:7010或10.32.4.202:7011端口.(负载均衡)
10.32.4.202:7010对应10.0.0.100:8080端口
10.32.4.202:7011对应10.0.0.100:8081端口
10.0.0.100:8080和10.0.0.100:8081,是用户真正要访问的应用服务器.

为啥要经过一层10.32.4.202呢,因为公司有加密策略,所有上传的文件都要解密,所有下载的文件都要加密.请求必须要从这里过一下.

经过n次尝试,以上配置,可以访问的通了.
但是,proxy_set_header设置为7010端口,所有的请求都到了10.0.0.100:8080这台应用,就无法起到负载均衡的作用.

问题来了,要实现如下功能,应如何配置呢.
1,用户必须统一入口(10.0.0.0.102).
2,请求必须经过10.32.4.202(要加解密);
3,还能使用负载均衡功能.

感激不尽!

5个回答

类似你上面的方法,自己内部再转发一次

 server {
  listen      8001 default_server;
  server_name web1.example.com;
  location / {
    proxy_pass       http://web1.local:80;
    proxy_set_header Host web1.local:80;
  }
}

server {
  listen      8002 default_server;
  server_name web2.example.com;
  location / {
    proxy_pass       http://web2.local:80;
    proxy_set_header Host web2.local:80;
  }
}

server {
  listen      8003 default_server;
  server_name web3.example.com;
  location / {
    proxy_pass       http://web3.local:80;
    proxy_set_header Host web3.local:80;
  }
}

upstream main {
  server 127.0.0.1:8001;
  server 127.0.0.1:8002;
  server 127.0.0.1:8003;
}

server {
  listen      80;
  server_name example.com;
  location / {
    proxy_pass http://main;
  }
}
wusheng678612
wusheng678612 感谢资深老程序员oyljerry的耐心解答!
接近 2 年之前 回复

你这应该就是需要根据目标请求,header中设置它对应的host和port

 proxy_set_header Host $host:$proxy_port;
wusheng678612
wusheng678612 回复oyljerry: 添加上这行以后,浏览器控制台上的response header中的多余数据是没了.但还是502..
接近 2 年之前 回复
oyljerry
oyljerry 回复wusheng678612: add_header 'Referrer-Policy' 'unsafe-url';
接近 2 年之前 回复
wusheng678612
wusheng678612 回复oyljerry: 如果设置成10.0.0.102,response header中就会出现非常非常多重复的内容.导致头过大,简单来说应该是有回路.
接近 2 年之前 回复
oyljerry
oyljerry 回复wusheng678612: 你的后台服务器有点奇怪,为什么要proxy_set_header Host 10.32.4.202:7010; 这是设置的后台服务器的地址在Header中,一般都是设置源头的
接近 2 年之前 回复
wusheng678612
wusheng678612 是这个意思,就是把请求分配给哪一个,就把header变成哪一个.但是这样设置不行.502, Referrer Policy:no-referrer-when-downgrade
接近 2 年之前 回复

如果需要设置目标服务器的配置,那么可以试试下面的

 proxy_set_header Host $proxy_host:$proxy_port;
wusheng678612
wusheng678612 回复oyljerry: 我尝试过几台nginx串在一起,确实不需要设置proxy_set_header都可以访问成功...10.32.4.202这台服务器是使用linux配置了DNAT,会将请求转到另一台服务器..........这个不深究,配置这个proxy_set_header的目的,就是模拟用户直接以10.32.4.202:7010访问.这样就没问题了.....现在就是这个负载均衡的问题..哎.
接近 2 年之前 回复
oyljerry
oyljerry 回复wusheng678612: 最主要的还是不知道你的后台服务器需要做什么,理论上不设置proxy_set_header,请求就会转发到你的后台服务器,如果你后台服务器需要一些额外的信息,那么就可以通过设置定制化的header等传递数据进行处理
接近 2 年之前 回复
wusheng678612
wusheng678612 不行的,504,他会把头设置成http://ab:80
接近 2 年之前 回复

我又想到一个办法,就是在套一层nginx,
一台nginx只代理到一个服务器.
比如,一个代理到7010,一个代理到7011.
实际就2台应用,却用了3台nginx....感觉不太好.

wusheng678612
wusheng678612 回复oyljerry: 如果不设置proxy_set_header,就是502,访问不通.
接近 2 年之前 回复
oyljerry
oyljerry 回复wusheng678612: 我的意思是如果不设置成同一个,是不是可以负载均衡到不同的服务器
接近 2 年之前 回复
wusheng678612
wusheng678612 回复oyljerry: 请求是负载均衡了,没错.但是最后设置头设置成了同一个.最后走的应用服务器就是同一个.
接近 2 年之前 回复
wusheng678612
wusheng678612 回复oyljerry: 这个提示是在浏览器控制台,network,查看headers中的general的提示,我发现只要是访问失败的,都会有这个.无论是502,还是504.可能和这个没有关系.
接近 2 年之前 回复
oyljerry
oyljerry 还是我说的,你header加$host,应该请求都会做负载均衡的。你先看看这个Referrer Policy:no-referrer-when-downgrade问题
接近 2 年之前 回复

这样配置,好了。

 worker_processes  2;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    upstream main {
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;
    }

    server {
    listen      80;
    server_name 10.0.0.102;
    location / {
        proxy_pass http://main;
    }
    }




    server {
    listen      8001;
    server_name 10.0.0.102;
    location / {
        proxy_pass       http://10.32.4.202:7010;
        proxy_set_header Host 10.32.4.202:7010;
    }
    }

    server {
    listen      8002;
    server_name 10.0.0.102;
    location / {
        proxy_pass       http://10.32.4.202:7011;
        proxy_set_header Host 10.32.4.202:7011;
    }
    }
}

感谢oyljerry的耐心解答!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
没有proxy_set_header主机,无法访问wordpress前端页面

<div class="post-text" itemprop="text"> <p>I use nginx as reverse proxy for apache wordpress site. But I cannot access word.com frontend page if I comment out the proxy_set_header part, it just redirect to 127.0.0.1 in my brower. Who can explain it for me? Nginx settings:</p> <pre><code>server { listen 80 default_server; server_name word.com charset utf-8; index index.htm index.html; access_log /var/log/nginx/word-access.log main; error_log /var/log/nginx/word-error.log; location / { proxy_pass http://127.0.0.1:8080; } proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } </code></pre> </div>

nginx请求proxy_pass后配置404错误界面

listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; fastcgi_intercept_errors on; proxy_intercept_errors on; root html; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $remote_addr; index index.html index.htm; #access_log logs/webroot.log; #proxy_intercept_errors on; proxy_pass http://tomcat_server/webroot/; } 当请求资源不存在后出现404并未返回Nginx目录下的自定义的404.html,而是去被转发的站点webroot下面找404界面了, 因为有多个应用程序部署在不同的服务器然后由Nginx进行转发,我现在想把所有的错误界面都放在Nginx目录下统一处理,在出现404,500之类的错误后由Nginx直接返回Nginx目录下预先自定义好的界面

nginx proxy_cache有问题,浏览器访问正常缓存,爬虫curl抓取全部绕过?

ngnix反向代理。 http配置: add_header X-Cache-Status $upstream_cache_status; proxy_cache_path /var/cache/nginx/w levels=1:2 keys_zone=w:150m inactive=10d max_size=10G; proxy_cache_path /var/cache/nginx/m levels=1:2 keys_zone=m:150m inactive=10d max_size=10G; proxy_cache_key $host$uri$is_args$args; proxy_cache_valid 200 1h; proxy_cache_methods GET; server中调用配置: proxy_cache w; 对应移动站调用配置: proxy_cache m; 两个server都配置: proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie; 同一URL,pc和wap浏览器访问都能正常缓存,各种搜索引擎爬虫抓取,却全部绕过,直接访问上游。 发现问题后自己测试,不同ip主机,同一个URL,不清空缓存重复curl访问,第一次访问都是MISS,第二次才HIT? 完全搞不懂了,求大神指点迷津。

nginx代理,http请求头 X-Forwarded-For配置问题

nginx 配置一 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; nginx 配置二 proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 配置二相对于配置一有啥好处啊 为啥配置二中用户真实的IP会是最后一个(代理IP1,代理IP2,真实IP),根据定义X-Forwarded-For真实IP,不是第一个吗?(真实IP,代理IP1,代理IP2) 求大神帮忙说明说明

请求nginx中的location配置问题

server{ listen 84; server_name _; root /data/www/myweb/ts; access_log /data/nginx_log/access.log access; location ~ ^/(.*).ts$ { add_header Cache-Flag hit; try_files /$uri @tsvideo; try_files /$uri @tsvideo_new; } location @tsvideo { add_header Cache-Flag miss; proxy_store on; proxy_temp_path /data/www/myweb/ts; proxy_store_access user:rw group:rw all:rw; proxy_set_header Host v1.abc.com proxy_pass http://v1.abc.com } location @tsvideo_new { add_header Cache-Flag miss; proxy_store on; proxy_temp_path /data/www/myweb/ts; proxy_store_access user:rw group:rw all:rw; proxy_set_header Host v12.abc.com proxy_pass http://v12.abc.com } } 请问下如何修改成当访问v1.abc.com,指向的是@tsvideo,访问v12.abc.com指向的是 @tsvide_new

nginx相关 文件下载问题

想访问nginx代理服务器下面的文件 conf配置如下 server { listen 80; server_name localhost; access_log logs/admin_access.log main; error_log logs/error_log.log crit; location / { index index.html index.htm index.jsp; proxy_pass http://192.168.1.163:8080; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header Connection ""; } location /upload/ { index index.html index.htm; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header Connection ""; root D:/tomcat7/yflow; } }

nginx ip_hash 负载均衡问题

nginx配置如下: #user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # 定义负载均衡服务器列表 upstream svr_balance{ ip_hash; #均衡规则为 根据客户端ip地址的哈希值来分配 server 192.168.78.177; server 202.202.202.167; } server { # 虚拟服务器 http://192.168.78.177:8081 listen 8081; server_name localhost; location / { root /usr/local/nginx/html/; #网站根目录 index index.php index.html index.htm; #定义首页索引文件的名称 } # 定义 http://192.168.78.177:8081/AlienWi/ 访问规则 location /AlienWi/{ proxy_pass http://svr_balance/AlienWi/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } 不同的客户端(ip地址同一网段,不同网段都有测试)访问http://192.168.78.178:8081/AlienWi/ 为什么总是访问到202.202.202.167, 而没有访问到192.168.78.177呢

Nginx http强制转https问题

服务器挂证书 部分url强制https ,现在在nginx下post提交数据会丢失 ![图片说明](https://img-ask.csdn.net/upload/201701/02/1483361079_836032.png) location ^~ /v1/getPolicyNo/ { if ($scheme = http) { return 301 https://$host$request_uri; } proxy_pass http://locationtomcat; #不要这句提示一直重定向,加上正常https但是post提交数据丢失 } location / { proxy_redirect off; proxy_connect_timeout 20; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 900m; proxy_pass http://locationTomcat; }

Nginx配置二级目录反向代理SpringMvc WebService,生成的报文丢失Nginx的location地址,寻求解决办法

Nginx配置二级目录反向代理SpringMvc WebService,生成的报文丢失Nginx的location地址,寻求解决办法 Nginx配置 ``` server { listen 8082; server_name localhost; location /web/ { proxy_pass http://127.0.0.1:8081/; 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 Host $host; proxy_redirect off; } } ``` 报文内容 ![图片说明](https://img-ask.csdn.net/upload/202003/21/1584776927_831683.png)

前台访问服务器时,nginx跳转服务器时报504错误,调整fastcgi_send_timeout=3000也不行

操作目的:导出数据到Excel文件里。数据量在6千左右,10个字段 nginx的error.log: 2020/04/14 19:44:30 [error] 34255#34255: *89271 connect() failed (111: Connection refused) while connecting to upstream, client: 114.242.249.29, server: 域名, request: "POST /client.do HTTP/1.1", upstream: "http://服务器IP:89/client.do", host: "域名:89" 前台错误: ![图片说明](https://img-ask.csdn.net/upload/202004/14/1586870620_76320.png) nginx.conf: http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; fastcgi_buffers 10 128k; send_timeout 650; server_tokens off; sendfile on; #tcp_nopush on; keepalive_timeout 320; proxy_read_timeout 3600; proxy_send_timeout 3600; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; #gzip on; proxy_ignore_client_abort on; #不允许代理端主动关闭连接 include /etc/nginx/conf.d/*.conf; } include添加的conf文件: server { set $block_sql_injections 0; if ($query_string ~ “union.*all.*select.*”) { set $block_sql_injections 1; } if ($block_sql_injections = 1) { return 444; } listen 80; server_name 域名; large_client_header_buffers 4 64k; client_max_body_size 300m; client_body_buffer_size 256k; proxy_connect_timeout 7200; proxy_read_timeout 7200; proxy_send_timeout 7200; proxy_buffer_size 256k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; location / { proxy_http_version 1.1; proxy_set_header Host $host:80; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 300m; client_body_buffer_size 1m; proxy_pass http://server_weaver; } }

nginx反向代理的cors如何配置

restful api的tomcat在ngxin后面,ngxin实现https转http、静态资源、以及cors。之前的nginx配置是: location /myapi/ { proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Access-Control-Allow-Origin *; proxy_pass http://localhost:8080; proxy_redirect http:// https://; client_max_body_size 100M; } 不论是网页还是app都能成功使用。备注,后台spring mvc使用了@CrossOrigin。 最近客户端换了webview引擎,强制cors。之前的cors配置不起作用了。网上搜了很多相关内容,有的说要用add_header,有的说要用proxy_set_header,有的说要设置access-control-allow-methods、access-control-allow-headers,有的说要单独处理OPTIONS请求......都试过了。没一个真正成功的。 要么报响应中没有origin,要么报prefilght失败,要么报access-control-allow-origin不能多于一个值(所以我把spring mvc里的@CrossOrigin也去掉了)。如果客户端和nginx都在同一台机器时,反复刷新,有时候又能获得后台tomcat响应,但不是每次访问都能获得正确响应;如果不在同一台机器,那索性就没成功过了。

nginx代理zuul导致cookie失效的问题

docker里部署nginx,nginx端口80,zuul端口9090,用户服务端口8080 浏览器访问nginx静态资源login.html登录![图片说明](https://img-ask.csdn.net/upload/202001/04/1578111148_680898.png) form表单通过nginx和zuul进入后端的用户服务/user/login登录成功后response.addCookie,结果浏览器得到响应后没有收到cookie 直接访问zuul或者proxy_pass代理8080端口都没问题,nginx代理zuul后就拿不到了,请问是跨域的问题吗 这是nginx配置 ``` upstream backup { server 192.168.1.112:9090; } server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.html; } location ~ ^/(user|goods|pay) { proxy_pass http://backup; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Scheme $scheme; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass_header Server; proxy_set_header Cookie $http_cookie; } } ```

nginx报错,域名下子目录访问报错404

nginx 报错: 访问域名:http://webapp.otcwallet.io/otc/ 域名下子目录所有文件跳转到主目录然后报错404,我想要的效果是域名下可以建多个工程子目录,通过加目录就可以访问。 ![图片说明](https://img-ask.csdn.net/upload/201912/23/1577085321_597173.png) ``` location /otc { root /www/wwwroot/webapp; index index.html index.htm; #proxy_pass http://ant_web/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; if ($request_method = POST ) { proxy_pass http://bc; } try_files $uri $uri/ /index.html?$query_string; } ``` 代理设置

nginx location如何消除重复配置项?

例如有如下两个location配置 [code="java"] location ~ /xxx/.+$ { proxy_pass http://tomcat; proxy_set_header Host $host; proxy_set_header X-URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-Scheme $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ /yyy/.+$ { rewrite ^/yyy/(.+)$ /ddd?x=$1 break; proxy_pass http://tomcat; proxy_set_header Host $host; proxy_set_header X-URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-Scheme $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } [/code] 两个location中有很多重复配置项,这些配置项有什么办法只配置一次就能在所有location中引用?

nginx反向代理问题 地址跳转无法实现

nginx反向代理 在浏览器输入 j.desk.com 实现:实际访问地址 http://192.168.1.3:8080/servicedesk/customer/portal/2 server { listen 80; server_name j.desk.com; location / { proxy_redirect off; 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_pass http://192.168.1.3:8080/servicedesk/customer/portal/2; } access_log logs/j.desk.com_access.log; } 无法实现 server { listen 80; server_name j.desk.com; location / { proxy_redirect off; 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_pass http://192.168.1.3:8080; } access_log logs/j.desk.com_access.log; 可以实现 无法实现在浏览器中输入j.desk.com 实际访问地址 http://192.168.1.3:8080/servicedesk/customer/

请教一个nginx代理的问题:相同域名不同端口的两个网站,分别使用了nginx代理都是通过location去匹配的,站点1的location / 站点2的location code/login 访问结果站点2的静态资源访问不到?

相同域名不同端口的两个网站,分别使用了nginx代理都是通过location去匹配的,站点1的location / 站点2的location code/login 访问结果站点2的静态资源访问不到? 站点1 conf配置: location / { root /xxxxxx/pinpoint-web-1.8.1; index index.html index.htm; auth_basic "Input Password:"; auth_basic_user_file "/usr/local/nginx/pass"; proxy_pass https://xxxxxxx:8444/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; } 站点2 conf配置: location /code/login { root /xxxxx/core; index login.html index.html index.htm; proxy_pass https://xxxxxx:8443/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

nginx代理 转发请求提示400错误

nginx作代理,相同的配置可以将请求转发到weblogic的7001端口,但是转发至8080端口报400错误;下面是配置文件和日志文件;即http://188.185.1.191:7001/是可以正常访问,但是http://188.185.1.191:8080无法正常访问,http://188.185.1.189:8080是可以正常访问;nginx安装在188.185.1.191服务器上; =========================配置文件========================= server { listen 7001; server_name localhost; location / { #allow 36.0.16.106; #deny all; proxy_redirect off; proxy_set_header Host $host:server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_pass http://188.185.1.189:7001/; } access_log logs/7002access.log; } server { listen 8080; server_name localhost; location / { proxy_redirect off; proxy_set_header Host $host:server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_buffering off; proxy_pass http://188.185.1.189:8080/; } access_log logs/8080access.log; } =======================日志文件============================​ 188.185.4.82 - - [02/Mar/2016:17:45:43 +0800] "\x03" 400 172 "-" "-" 188.185.4.82 - - [02/Mar/2016:19:11:06 +0800] "GET /index.jsp HTTP/1.1" 400 5 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER" 188.185.4.82 - - [02/Mar/2016:19:11:09 +0800] "GET /favicon.ico HTTP/1.1" 400 5 "http://188.185.1.191:8080/index.jsp" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER" 188.185.4.82 - - [02/Mar/2016:19:11:19 +0800] "GET /index.jsp HTTP/1.1" 400 5 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER" 188.185.4.82 - - [02/Mar/2016:19:11:20 +0800] "GET /favicon.ico HTTP/1.1" 400 5 "http://188.185.1.191:8080/index.jsp" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER"

Nginx代理传递连接超时到HHVM

<div class="post-text" itemprop="text"> <p>I am having a very weird problem. I have my servers connecting to my api via proxypass.</p> <pre><code>server { listen 80; server_name www.example.com; location / { root /data/sites/www.example.com/public_html/; index index.php index.html index.htm; try_files $uri $uri/ /index.php?rt=$uri&amp;$args; } location /api { proxy_pass_header Set-Cookie; proxy_pass_header P3P; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Fowarded-Host $host; proxy_set_header X-Real-IP $remote_addr; port_in_redirect off; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass https://api.example.com/; proxy_connect_timeout 60; } location ~ \.php$ { root /data/sites/www.example.com/public_html/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param ENV production; fastcgi_param HTTPS off; fastcgi_read_timeout 300; } } </code></pre> <p>So the url www.example.com/api is a proxy pass to api.example.com . But the connection always timeouts. Now if I go to api.example.com directly in my browser, it WORKS!</p> <p>So I'm baffled. Anyone have any ideas what could be going on?</p> </div>

关于https的问题,获取不到https协议

请问jsp界面通过request.getScheme()获取协议,用https访问获取到的是http!请问如何解决 nginx 的配置 server { listen 443; server_name www.roamingman.com; ssl on; ssl_certificate /uklrverinx/certs_roam/www.roamingman.com.crt; ssl_certificate_key /uklrverinx/certs_roam/www.roamingman.com.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; proxy_set_header Host $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; access_log logs/rental.glocalme.com.log main; error_log logs/rental.glocalme.com.log.err debug; location / { index index.html index.htm index.jsp; proxy_pass http://10.3.65.31:8080; proxy_set_header Host $host; proxy_set_header Referer $http_referer; proxy_set_header Cookie $http_cookie; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 75s; proxy_read_timeout 300s; proxy_send_timeout 300s; proxy_redirect off; } } tomcat 的配置 <Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" protocolHeaderHttpsValue="https"/> <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/ukl/httpscerts/www.roamingman.com.key" />

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

Java8零基础入门视频教程

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

Python数据挖掘简易入门

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

C++语言基础视频教程

C++语言基础视频教程

UnityLicence

UnityLicence

软件测试2小时入门

软件测试2小时入门

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

相关热词 c# 开发接口 c# 中方法上面的限制 c# java 时间戳 c#单元测试入门 c# 数组转化成文本 c#实体类主外键关系设置 c# 子函数 局部 c#窗口位置设置 c# list 查询 c# 事件 执行顺序
立即提问
相关内容推荐