标签: nginx

如何在 nginx 中为所有虚拟主机全局设置 robots.txt

我正在尝试为robots.txtnginx http 服务器下的所有虚拟主机设置。通过将以下内容放在 main 中,我能够在 Apache 中做到这一点httpd.conf

<Location "/robots.txt">
    SetHandler None
</Location>
Alias /robots.txt /var/www/html/robots.txt
Run Code Online (Sandbox Code Playgroud)

我尝试通过在 nginx.conf 和 (b) 中添加下面给出的行 (a) 作为 include conf.d/robots.conf 来对 nginx 做类似的事情

location ^~ /robots.txt {
        alias /var/www/html/robots.txt;
}
Run Code Online (Sandbox Code Playgroud)

我试过用 '=' 甚至把它放在一个虚拟主机中来测试它。似乎没有任何效果。

我在这里缺少什么?有没有另一种方法来实现这一目标?

nginx robots.txt

22
推荐指数
3
解决办法
5万
查看次数

如何根据 Nginx 中的子域反向代理到不同的地方?

我有多个子域,都指向一台机器和一个 IP 地址。在这台机器上,我想让 nginx 充当反向代理,并且根据用于访问机器的子域,我希望它反向代理到不同的服务器。我见过的所有使用 nginx 作为反向代理的示例都使用location,但据我所知,这仅适用于路径,不适用于不同的子域。我怎样才能达到我想要的?

nginx proxy reverse-proxy subdomain

22
推荐指数
1
解决办法
4万
查看次数

如何使用 nginx 反向代理正确处理相对 url

当然,我不是第一个尝试从 为域提供服务example.com的人example.net/bbb,但我还没有找到解决方案。

我的 NGINX 配置遵循指导方针,看起来像这样:

server {
    listen 80;
    server_name example.net;
    root /path/to/aaa;

    location /bbb/ {
        proxy_pass http://example.com/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location / {
        try_files $uri $uri/ /index.html;
    }
    location ~ \.(svg|ttf|js|css|svgz|eot|otf|woff|jpg|jpeg|gif|png|ico)$ {
        access_log off;
        log_not_found off;
        expires max;
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以设法渲染example.comin的根,example.net/bbb但是:

问题 1

example.net/bbb/some/path预期和不工作index.htmlexample.net呈现。

问题 2

中的任何资产example.com/assets都会给出 404,因为浏览器会查找example.net/assets. 如果我能在不到处放置绝对路径的情况下解决这个问题,那就太好了。

nginx reverse-proxy proxypass

22
推荐指数
1
解决办法
4万
查看次数

为什么 Nginx 比 lighttpd 更受欢迎?

我想在生产中使用 Lighttpd 来为 Django 应用程序提供服务,但我发现最近 Nginx 越来越流行。这是为什么?我知道过去 Lighttpd 有内存泄漏,但现在不是修复了吗?他们确实有活跃的开发人员来解决这类问题,不是吗?
我有什么理由应该使用 Nginx 而不是 Lighty 吗?我知道 nginx 是一个很棒的服务器,但它真的那么好并且比 lighty 更好吗?

nginx lighttpd django

21
推荐指数
4
解决办法
5万
查看次数

nginx 发送空白 200 响应

我正在配置一个故障转移服务器,其任务是接受任何传入请求,并以空白 200 响应进行回复。我们的想法是尽量减少回复时间并确保我们不发送任何 40x 或 50x。

我尝试使用return 200;Nginx 中的所需位置,但我的监控系统 (Pingdom) 不喜欢响应,并认为服务器没有响应。

有没有更好的方法来做到这一点,当然,服务器上的开销最小?

http nginx

21
推荐指数
2
解决办法
5万
查看次数

推荐的 Nginx + WSGI 配置

请解释使用不同 Nginx WSGI 接口时的优缺点?请详细说明每种配置的区别是什么?哪种配置的扩展性最好?

如果相关,您现在正在运行什么,为什么?

我见过的一些技巧,但请告诉我是否遗漏了任何技巧:

python nginx web-server fastcgi wsgi

21
推荐指数
1
解决办法
3299
查看次数

Nginx 启动失败 ssl no such file or directory

这是我得到的错误:

重新加载 nginx 配置:nginx: [emerg] SSL_CTX_use_certificate_chain_file("/path/to/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory error:20074002:BIOroutines:FILE_CTRL:system lib 错误:140DC002:SSL 例程:SSL_CTX_use_certificate_chain_file:system lib) nginx: 配置文件 /etc/nginx/nginx.conf 测试失败

我 100% 确定该文件在该位置,但 Nginx 似乎认为它不存在。我按照这个顺序手动合并了domain.crtintermediate.crt。我一整天都在为这个问题挠头。我希望有人已经看到了这个错误并有一个解决方案。(附带说明,在粘贴文件位置只显示一次而不是在“没有这样的文件或目录”之后再次显示时,这不是错误)。

debian nginx web-server

21
推荐指数
2
解决办法
12万
查看次数

php-fpm 使用上游和位置有什么区别?

我一直在四处寻找,但找不到直接的答案,如果有人可以澄清这一点,将不胜感激,谢谢!

location ~ \.php$ {
    try_files      $uri = 404;
    fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
    fastcgi_index  index.php;
    include        fastcgi.conf;
}
Run Code Online (Sandbox Code Playgroud)

或/与?

upstream php {
    server         unix:/run/php-fpm/php-fpm.sock;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

linux http configuration nginx php-fpm

21
推荐指数
2
解决办法
3万
查看次数

nginx etag 生成背后的算法

Nginx 中生成 etag 的算法是什么?它们现在看起来像“554b73dc-6f0d”。

它们仅从时间戳生成吗?

nginx

21
推荐指数
1
解决办法
1万
查看次数

为什么“multi_accept”在 Nginx 中默认为“关闭”?

我发现'multi_accept'在Nginx中默认为'off',如下所示:

多接受

nginx

21
推荐指数
2
解决办法
2万
查看次数