nginx 允许访问其他目录下的文件
location /log/ {
add_header Content-Type "text/plain;charset=UTF-8";
# 被访问日志 5s 会刷新一次,建议谷浏览器看日志,其他浏览器看日志 怕 刷新后会回到顶部
add_header Refresh 5;
alias /usr/local/dev/logs/;
}
alias 指定的路径是 location 的别名,不管 location 的值怎么写,资源的 真实路径都是 alias 指定的路径
nginx location 中 proxy_pass 末尾带/ 和 不带/
今天在配置nginx中遇到一个问题,想要让前端以如下方式访问
# 想让前端访问的url
http://ip:port/api/hyq/user/login
# nginx 配置
location /api/hyq/ {
proxy_pass http://127.0.0.1:8302;
access_log logs/hyq.log main;
}
理想的是想让 内部代理到 http://127.0.0.1:8302/user/login
实际代理到了 http://127.0.0.1:8302/api/hyq/user/login
我在项目中打印出地址截取到的是
api/hyq/user/login
于是看到了一篇博客可以如下方式配置nginx
location /api/hyq/ {
proxy_pass http://127.0.0.1:8302/;
access_log logs/hyq.log main;
}
ok 搞定。
也就是说 proxy_pass 路径后不带 /,会连带location所匹配到的路径一起访问 ( http://127.0.0.1:8302/api/hyq/user/login ),带 / 则会忽略location所匹配的路径访问 ( http://127.0.0.1:8302/user/login )。
上一张解决问题的图,感谢大佬分享
nginx http 转 https post请求变成get
http 跳转
server {
listen 80;
server_name www.xxxxxx.cn xxxxxx.cn;
return 307 https://$host$request_uri;
}
把 rewrite ^(.*) https://$server_name$1 permanent; 这句换掉
换成 return 307 https://$host$request_uri; 这句话就可以解决
nginx 启动80端口可以telnet通,却不显示页面
今天意外的情况,导致服务器重启,重启后启动nginx访问页面的时候,页面一直在load。
查了很多原因,发现 nginx 里得 error.log 一直输出如下:
2021/01/29 18:18:23 [alert] 1606#0: worker process 1852 exited on signal 11
ngx_http_fastdfs_process_init pid=1853
网上找到的解决办法输入如下:
/etc/init.d/fdfs_storaged start
/etc/init.d/fdfs_trackerd start
就是把 fdfs 相关服务进行启动。
网友评论