Nginx的配置的简单记录
感谢网上的博客帖子的分享,这里给自己做个记录汇总
1.nginx启动时指定启动用户问题
//可以使用ps aux | grep "nginx: worker process" | awk '{print $1}'来进行查询启动的用户
//将配置文件nginx.conf文件的页首的user改为对应的启动用户,例如:
user e-user;
2.nginx默认不支持带下划线的header参数传递,默认会去掉
//为了支持header带下划线的参数,可以在http内或者server内设置如下参数:
underscores_in_headers on;//默认是off
3.nginx不支持post请求方式来请求静态页面问题,出现405的状态码
//解决nginx不支持post访问静态资源时,出现405的状态码
//需要在配置文件nginx.conf的server的location里面配置
error_page 405 =200 $uri;
4.root和alias的区别
location ^~ /imageindex{
root /home/;#root配置的话路径会拼接为/home/imageindex/
index index.html;
}
location ^~ /image{
alias /home/imageindex/;#alias配置的话路径会拼接为/home/imageindex/,如果是root则变为/home/imageindex/image/
index index.html;
}
5.配置proxy_pass使用域名时出现404的情况
# 有问题的配置:
location /index/ {
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_read_timeout 80s;
proxy_pass https://data-server.mammotion.com/;
}
# 正确的配置:
location /index/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $proxy_host:$server_port;
# 读取代理响应超时
proxy_read_timeout 80s;
proxy_pass https://data-server.mammotion.com/;
}
原因在于 proxy_set_header Host $host:$server_port; proxy_set_header Host $proxy_host:$server_port;
参考链接:参考链接
6.配置websocket
location /my-server/ws/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 读取代理响应超时
proxy_read_timeout 1800s;
proxy_pass https://127.0.0.1:8881/ws/;
}
7.解决跳转后都是GET请求的问题
# rewrite ^(.*)$ https://$host:443$1 permanent;
# 解决跳转后都是GET
return 307 https://$server_name$request_uri;
后续有遇到再补充,如有错误,请留言提醒,也欢迎留言补充添加