我正在使用Ngnix以下配置:
upstream sync {
server couchbase-sync:4984;
}
server {
listen 4984;
server_name ${WEBAPP_HOST};
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' '*';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
location / {
if ($request_method = OPTIONS) {
return 204;
}
proxy_pass http://sync;
}
}
我不想重定向OPTIONS请求,但我有一个错误:
nginx_1 | 2017/01/20 09:23:40 [emerg] 9#9: invalid condition "=" in /etc/nginx/conf.d/webapp.conf:13
nginx_1 | nginx: [emerg] invalid condition "=" in /etc/nginx/conf.d/webapp.conf:13
如何解决我的问题? Official Doc
感谢您阅读
答案 0 :(得分:0)
在http methods
中限制nginx
的最佳做法:
limit_except GET {
allow 192.168.1.0/24;
deny all;
}
以上示例仅允许提供IP Range
的所有内容。对于其他客户,只有GET method
可用。
您可以在位置块中使用它。
可用方法:
GET, HEAD, POST, PUT, DELETE, MKCOL, COPY, MOVE, OPTIONS, PROPFIND, PROPPATCH, LOCK, UNLOCK, or PATCH
答案 1 :(得分:0)
在我的案例中,某些字符存在问题,如Richard Smith所说。
在docker容器中创建runner.os
文件时遇到了这个问题。我当时在bash中使用nginx.conf
命令,然后粘贴复制的文本。
使用echo
创建(粘贴并保存)后,问题消失了。