Nginx
Nginx
Nginx FAQ
403
403 forbidden,权限问题
- 还没到后端,或者静态文件,从nginx返回的,文件权限,是否nginx有读权限;location特定返回,某个location返回403
- 到了后端了,从后端返回的,后端认为没权限,检查后端逻辑
geoip配置
安装
如果是源码安装,需要重新编译
如果源安装,centos系,debian系列自行搜索下吧
|
|
nginx部分
/etc/nginx.conf里面需要增加
|
|
http里面需要增加
|
|
server里面一个简单的配置参考
|
|
有什么好办法在线测试一个nginx配置吗
80转443
rewrite ^/(.*)$1 https://xxxx/$1 permanent; https://cloud.tencent.com/document/product/400/35244
隐藏git等文件夹
|
|
try_files 404如何修改uri或者302跳转
不用try_files, 用error_page 404 = @notfound配合location @notfound进行 302跳转
|
|
证书续签问题
通过let's encrypt这个CA机构进行签发,可参考知乎链接
正常可以选择certbot或者acme.sh
acme.sh
可以参考github的acme中文说明
安装Install
|
|
如果安装失败可以再多执行几次,最终应该会成功,还不行按照指引
中国用户请参考: https://github.com/acmesh-official/acme.sh/wiki/Install-in-China
最后需要执行
|
|
acme可以使用各个dns的api,比如阿里云等,但是没有对腾讯云的支持,腾讯云 可以参考下这个https://github.com/go-acme/lego
certbot
注意签发以后的证书如果要上传到阿里云,需要进行一下转化成RSA格式的私钥
|
|
nginx获取真实ip
一般代理会把proxy的ip列表放到X-Forwarded-For(大小写不敏感)里面 也有放到别的头里面的,也有放下划线的(X_Forwarded_For)
出现ip获取不到的情况的时候,可以errorlog增加debug写
|
|
对应nginx获取的配置
|
|
重新加工源码编译源安装的nginx
思路 通过nginx -V获取到编译参数,nginx -v获取指定版本,然后./configure 参数,make , make install即可,记得提前备份好内容,当然我们也可以自己 去解压rpm包,但那个相对麻烦了一点
下载nginx包
|
|
安装依赖
|
|
我的系统是centos
|
|
nginx加固方案之ModSecurity
nginx开启debug 测试location等
error_log 的结尾加上debug即可,但是要注意 ./configure的时候需要加上–with-debug