重启与关闭
# mac
sudo nginx -s stop && sudo nginx
# nginx 配置号后,仍无法访问
# MAC 临时关闭防火墙
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
# MAC 打开防火墙
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# mac 检查监听端口
sudo lsof -i :80
配置代理
配置 api api1 同时转发至同一目标
location ~ ^/(api|api1)/ {
location ~ ^/api(|1)/ {
proxy_pass http://host.docker.internal:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 以 json png 结尾 且以100000开头的目录的请求
location ~* /100000/.*\.(json|png|jpg)$ {
root /home/dataplatform/frontend/maptool/html;
index index.html index.htm;
}
# 以 json png 结尾的文件转发,先匹配上边,上边匹配不到才会匹配此规则
location ~* /.*\.(json|png|jpg)$ {
proxy_pass http://maptool-api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
实例1
# 以100000开头的 pcd|json 的文件
# 1.请求本地
# 2.解除跨域
# 3.直接返回数据(pcd默认浏览器会提示下载)
location ~* /100000/.*\.(pcd|json)$ {
# 设置 .pcd 文件的 MIME 类型为 text/plain
# 设置 .json 文件的 MIME 类型为 application/json
types {
text/plain pcd;
application/json json;
}
# 禁用默认 MIME 类型匹配
default_type text/plain;
# 如果需要,可以禁用下载行为
add_header Content-Disposition "inline";
# 允许的 HTTP 方法
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE";
add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, token";
add_header Access-Control-Max-Age 1728000; # 缓存预检请求的时间
add_header Content-Length 0;
return 204; # 返回 204 No Content
}
# 允许跨域的实际请求
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE";
add_header Access-Control-Allow-Headers "Authorization, Content-Type, Accept, token";
root /home/dataplatform/frontend/maptool/html;
index index.html index.htm;
}
# 以100000开头的 png|jpg的请求本地
location ~* /100000/.*\.(png|jpg)$ {
root /home/dataplatform/frontend/maptool/html;
index index.html index.htm;
}
# 所有 json|png|jpg|pcd 代理至 zjflyy522.oicp.net
location ~* /.*\.(json|png|jpg|pcd)$ {
proxy_pass http://file-server;
proxy_set_header Host zjflyy522.oicp.net;
proxy_set_header X-Real-IP $remote_addr;
}