浏览 5.5k
同一个Nginx,配置了多个代理,其中一个原始站点是asp.net,正常。另一个是h5的,配置后没有提示错第一个是正常的。
第二个是个H5的网站不行,正常访问是:
https://TestH5/RegH5/#/pages/login/login
会自动跳到(#号没有了) https://TestH5/RegH5/pages/login/login
设置代理后访问:
https://bbb/RegH5/#/pages/login/login
不显示错误,浏览器显示了正确的标题,但内容是空白的。
节点配置如下:
location /aaa/ {
#这个是Asp.net的,正常使用。
proxy_pass https://test/myDemo/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_connect_timeout 4s; #配置点1
proxy_read_timeout 60s; #配置点2,
proxy_send_timeout 12s; #配置点3
proxy_buffer_size 1M;
proxy_buffers 8 1M;
proxy_busy_buffers_size 1M;
proxy_temp_file_write_size 1M;
}
location /bbb/ {
#这个是H5的,不行。
proxy_pass https://TestH5/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_connect_timeout 4s; #配置点1
proxy_read_timeout 60s; #配置点2,
proxy_send_timeout 12s; #配置点3
proxy_buffer_size 1M;
proxy_buffers 8 1M;
proxy_busy_buffers_size 1M;
proxy_temp_file_write_size 1M;
}

按点赞数排序
按时间排序
single是单进程模式,而nginx是通过新启一个进程,由新进程重载nginx.conf文件,实现reload操作并提供服务的。因此single无法完成。
master/worker模式可以,因为master是父进程,worker是子进程,而父进程打开了80/443等端口,worker子进程可以共享。这样除了老的worker外,新的reload后的worker子进程也在监听相同的端口,这样老worker就可以在停止listen新连接后,服务完所有的老连接,优雅的退出。
具体你可以看下我的这篇文章:https://www.nginx-cn.net/article/70
不同的话你就得查一下为什么b.com的10000端口为什么可以转到a.com上了
第一台用https://yl:20001访问,第二台用https://jkt访问,现在用https://jkt:20001访问到yl的网站上去了
proxy_intercept_errors on; error_page 里去掉 404. 另外注意proxy_intercept_errors, error_page范围,可以 写在server 里,如果写在location 里只对location 生效。
微信公众号
加入微信群