Nginx服务降权解决方案

useradd ince
[root@web01 ~]# su - ince
[ince@web01 ~]$ mkdir logs conf www #创建必须的配置文件,日志,站点目录
cp /application/nginx/conf/mime.types /home/ince/conf/ #拷贝配置文件中网页支持类型文件
vim /home/ince/conf/nginx.conf
把配置文件的网站根目录 日志目录都改成ince用户的绝对路径
把端口改为其他端口 80端口只能root使用

/application/nginx/sbin/nginx -c /home/ince/conf/nginx.conf

worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
worker_rlimit_nofile 65535;
error_log /home/ince/logs/error.log;
user www www;
pid /home/ince/logs/nginx.pid;
events {
use epoll;
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main '$remote_addr - r e m o t e u s e r [ remote_user [ time_local] “KaTeX parse error: Double superscript at position 34: … '̲status b o d y b y t e s s e n t " body_bytes_sent " http_referer” ’
‘“ h t t p u s e r a g e n t " " http_user_agent" " http_x_forwarded_for”’;
server {
listen 8080;
server_name www.aaa.com;
root /home/ince/www;
location / {
index index.php index.html index.htm;
}
access_log /home/ince/logs/web_blog_access.log main;
}
}

解决普通端口非80提供服务的问题
用负载均衡解决web服务费80端口转换问题,负载均衡器如haproxy,nginx,F5,lvs要用nat模式
nginx反向代理配置
upstream www.aaa.com {
server 192.168.1.4:8080;
server 192.168.1.5:8080;
}
server {
#侦听的本机80端口
listen 80;
server_name www.aaa.com;
location / {
index index.php index.html index.htm;
proxy_pass http://www.aaa.com;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
acces_log /home/ince/logs/web_.log main;
}

proxy_redirect
Nginx做反向代理,如果在header设置了Host参数,同时如果有协议和二级目录有不一致的情况的时候,
当后端服务做302、301跳转的时候,需要用proxy_redirect将后端设置在response header中的Location做转换.
如果使用“default”参数,将根据location和proxy_pass参数的设置来决定

这里找到了两种办法解决:

1.用proxy_redirect参数修改被代理服务器返回的响应头。
加一行:proxy_redirect default;

2.直接修改proxy_set_header
proxy_set_header Host $host:8080;

猜你喜欢

转载自blog.csdn.net/bjgaocp/article/details/87906225
今日推荐