标签: nginx

ca-bundle.crt 和 ca-bundle.trust.crt 的区别

在 CentOS 6.5 上,/etc/pki/tls/certs我有:

ca-bundle.crt
Run Code Online (Sandbox Code Playgroud)

ca-bundle.trust.crt
Run Code Online (Sandbox Code Playgroud)

具有不同的文件大小。我应该使用哪个作为nginx 的信任路径proxy_ssl_trusted_certificate

nginx openssl certificate-authority

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

来自 /etc/resolv.conf 的 Nginx 解析器地址

是否可以resolver在 nginx 代理配置中设置地址/etc/resolv.conf

例如,它在 docker 或虚拟环境中很有用。

nginx

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

nginx 捕获所有其他位置而不是给定的位置

我的服务器上有一些位置。我想捕捉用户通过浏览器提供的所有其他位置。那怎么办?例如

 server {
     ...
     location /location1 {
              do something;
     }
     location /location2 {
              do something;
     }
     location /all_other_locations {
            return 301 http://www.google.de
     }
Run Code Online (Sandbox Code Playgroud)

nginx

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

只允许 nginx 中的本地用户

我想限制某些 VHost 的访问,以便只有 127.0.0.1 可以访问它。我总是使用这样的东西来将 VHost 绑定到本地主机而不是外部 IP:

server {
    listen 127.0.0.1;
    server_name myvhost.local;
    location / {
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

但我注意到一些教程还包含allow针对 localhost 的显式指令并明确拒绝所有其他指令:

server {
    listen 127.0.0.1;
    server_name myvhost.local;
    location / {
        allow 127.0.0.1;
        deny all;
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

当我只在 127.0.0.1 收听时,真的需要这些allow/deny指令吗?

nginx

27
推荐指数
3
解决办法
6万
查看次数

修改nginx反向代理返回的HTML页面

我有一个反向代理设置,用于从 Internet 访问位于 Intranet 内的第三方应用程序。假设此应用程序位于 URL 上:

https://internalserver:8080/ (只能从内联网访问)

并且代理在:

https://proxyserver/ (可从世界任何地方到达)

代理由 nginx 管理并且工作正常。当用户访问时,https://proxyserver/ 他们会在https://internalserver:8080/.

问题在于应用程序在 HTML 响应中写入绝对 URL,因此,当用户单击指向新页面的链接时,浏览器会尝试使用其内部名称定位页面,例如, https://internalserver:8080/somepage 而不是 https://proxyserver/somepage

我知道这是一个程序错误,但我无法修改程序。

我可以拦截响应,修改 URL 并使用 nginx 将其(修改后)发送到最终客户端吗?或者也许使用其他工具?

编辑:我之前看过这个问题,但我的情况更具体,引用的问题要求进行通用修改。在这种情况下,fast-cgi ad hoc 程序是最好的解决方案,我想要的是(我认为)更常见场景的更具体的解决方案。虽然快速 cgi 程序可以工作,但我正在寻找一种最简单、可能更强大并在现实世界中得到证明的解决方案,适用于这种情况。

nginx reverse-proxy

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

如何在 nginx 中指定 Windows 文件路径

我正在使用 nginx 的官方 Windows 版本。我想指定与此配置等效的 Windows

location /static/ {
   alias /home/user/staticfiles/;
}
Run Code Online (Sandbox Code Playgroud)

如何在别名指令中指定 Windows 文件路径?这甚至可能吗?

windows nginx

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

Nginx 通过请求方法代理

是否可能/如何根据请求方法(即 GET/POST)配置 Nginx 位置块以代理到不同的后端?

原因是,我目前正在处理 2 个不同 URL 的 2 种方法(一个通过 http 代理,另一个通过 fcgi),并试图使其更加“REST”,因此,理想情况下希望获取资源以返回列表,而 POST 到相同的资源应该添加到列表中。

http nginx proxy

26
推荐指数
3
解决办法
8万
查看次数

Nginx 配置:前端反向代理到另一个端口

我有一个小型 Web 服务器,它在端口 5010 而不是 80 上提供请求。

我想使用 nginx 作为前端代理来接收端口 80 上的请求,然后让这些请求由端口 5010 处理。

我已经成功安装了 nginx,它在 Ubuntu Karmic 上运行流畅。

但是,我尝试重新配置默认的 nginx.conf 并没有成功。

我尝试在服务器指令中包含端口 5010 的监听参数。

我也尝试过 proxy_pass 指令。

有关需要进行更改的任何建议或需要设置的指令,以便仅进行端口转发。

ubuntu nginx reverse-proxy ubuntu-9.10

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

nginx -s stop 和 -s quit 有什么区别?

我可以使用nginx -s stop或停止 nginx 服务器nginx -s quit

有什么不同?

nginx

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

如何编写具有命名位置的 DRY、模块化 nginx conf(反向代理)

我主要使用 nginx 作为几个 gunicon/mod_wsgi 应用程序前面的反向缓存代理,当然还有服务器静态文件。

我发现很快我的 nginx 配置就变得无法维护;问题是我有一些相似(甚至相同)的模式,但我无法使它干净。

我遇到的最大问题之一是我喜欢使用命名位置作为对一组 conf 进行分组的一种方式,例如。

location @django_modwsgi {
    include proxy.conf;
    proxy_pass  http://127.0.0.1:8080;        
}

location @django_gunicorn {
    include proxy.conf; # this could also be included directly in the server {} block?
    proxy_pass  http://gunicorn_builder;
}
Run Code Online (Sandbox Code Playgroud)

注意。 问题在于同时拥有 gunicorn 和 wsgi。那只是一个例子。另一种是:

location @namedlocation_1 {
     some cache settings;
     some cache_key settings;
     ignore some headers;
     expires;
     proxy_pass
}

location @namedlocation_2 {
     other cache settings;
     other cache_key settings;
     ignore some headers;
     expires;
     proxy_pass
}
Run Code Online (Sandbox Code Playgroud)

但是要调用命名位置,我发现的唯一方法是:

location …
Run Code Online (Sandbox Code Playgroud)

configuration nginx

26
推荐指数
1
解决办法
8457
查看次数