我试图让 nginx 接受以下格式的网站:dev.*.domain.com。我已经阅读了文档,我知道我必须为此使用正则表达式。
通配符名称只能在名称的开头或结尾处包含星号,并且只能在点边框上。名称“www. .example.org”和“w .example.org”无效。但是,可以使用正则表达式指定这些名称,例如“~^www..+.example.org$”和“~^w.example.org$”。.example.org$”。星号可以匹配多个名称部分。名称“ .example.org”不仅匹配 www.example.org,还匹配 www.sub.example.org。
所以我有:
server {
listen 80;
server_name ~^dev\..+\.domain\.com\.br$ dev.domain.com.br;
access_log /var/log/nginx/dev.domain.com.br.access.log;
error_log /var/log/nginx/dev.domain.com.br.error.log;
location / {
proxy_pass http://127.0.0.1:68319/;
include /etc/nginx/proxy.conf;
}
location /media/ {
alias /my/folder/to/media/;
expires 15d;
}
location /favicon.ico {
alias /my/folder/to/favicon.ico;
expires 15d;
}
}
Run Code Online (Sandbox Code Playgroud)
不知何故,它最终被这条规则捕获(这是最后一条):
server {
listen 80;
server_name *.domain.com.br domain.com.br;
access_log /var/log/nginx/domain.com.br.access.log;
error_log /var/log/nginx/domain.com.br.error.log;
location / {
proxy_pass http://127.0.0.1:8080/;
include /etc/nginx/proxy.conf;
}
location /media/ {
alias /my/path/to/media/;
expires 15d;
}
location /favicon.ico {
alias /my/path/to/favicon.ico; …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以在 nginx 上禁用多线程下载。现在用户可以使用下载管理器通过拆分文件来下载文件,我想知道如何在我的 nginx 服务器上防止这种情况。
根据我发现的一篇博客文章,禁用 Nginx 访问日志可以加快速度。每次有人访问该站点时,Nginx 都必须写入此文件。
但是,在设置 fail2ban 时,我意识到这些程序使用访问日志来保护服务器。所以我的问题是,我应该禁用访问日志还是应该启用它们并设置fail2ban?
我将如何设置我的网络服务器以下面描述的方式工作?
Http 请求:mypublic.com ---> nginx 正常处理,因为它已经设置好了 ( listen 80;)
Http 请求:myprivate.com ---> 由 apache 处理,设置为在 8080 ( listen 8080) 上工作
我想避免在浏览器中输入地址时包含端口,在 nginx 中使用某种模型(代理?/squid?)。两个域都指向我的机器并按命名设置。
我在我的服务器上的不同端口上看到很多 tcp 连接,状态为“TIME_WAIT”。只是简单的端口扫描,但我看不到这个混蛋的 IP 地址,因为连接来自我的 nginx。你能给我一个提示,我怎么能看到这个混蛋的IP地址?
这是示例:
[root@vh9 ~]# netstat
tcp 0 0 srv:http srv:53280 TIME_WAIT
tcp 0 0 srv:http srv:53536 TIME_WAIT
tcp 0 0 srv:http srv:52768 TIME_WAIT
tcp 0 0 srv:http srv:53024 TIME_WAIT
Run Code Online (Sandbox Code Playgroud) 我设置了一个微型实例(Ubuntu,32 位)并分配了一个弹性 IP(23.23.245.104)
公共 DNS:ec2-23-23-245-104.compute-1.amazonaws.com
我成功地通过 ssh 连接到机器并安装了 nginx。
然后我在 nginx 的配置文件(/etc/nginx/sites-available/default)中编辑了 server_name 属性
server_name ec2-23-23-245-104.compute-1.amazonaws.com;
Run Code Online (Sandbox Code Playgroud)
重新启动 nginx 并点击http://ec2-23-23-245-104.compute-1.amazonaws.com但出现“无法连接”错误。
我忘了做什么?
谢谢
我们的新应用程序今天受到了很多媒体的关注,每小时都有成千上万的新用户……但它变得太慢以至于无法使用。
我们使用的 Rails 3 补丁为最新版本、ubuntu、Unicorn、nginx、postgresql、memcache。
我已经添加了 8 台新服务器,但几乎没有什么不同。我还尝试将 nginx 的 keepalive 值设置为 1。除了添加更多服务器之外,我不知道如何改进响应时间。我有 10 个独角兽工人在每台服务器上运行。问题似乎是每个服务器上的请求队列太长。我可能是错的,我不完全确定是什么原因造成的,我只知道它昨天在当前负载的 2% 下运行良好。
任何帮助是极大的赞赏
我刚刚用 nginx(我是新手)和 PHP 设置了一个新服务器。在我的网站上,基本上有 3 种不同类型的文件:
我从这个问题和这个页面了解到,静态文件不需要特殊处理,会尽快提供。
我按照上述问题的答案为 PHP 文件设置缓存,现在我有一个这样的配置:
location ~ \.php$ {
try_files $uri =404;
fastcgi_cache one;
fastcgi_cache_key $scheme$host$request_uri;
fastcgi_cache_valid 200 302 304 30m;
fastcgi_cache_valid 301 1h;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/example$fastcgi_script_name;
fastcgi_param HTTPS off;
}
Run Code Online (Sandbox Code Playgroud)
但是,现在我想防止在论坛上缓存(无论是针对所有人还是仅针对登录用户 - 还没有检查后者是否适用于论坛软件)。我听说位置块内有“如果是邪恶的”,所以我不确定如何继续。使用位置块内的 if 我可能会在中间添加它:
if ($request_uri ~* "^/forum/") {
fastcgi_cache_bypass 1;
}
# or possible this, if I'm able to cache pages …Run Code Online (Sandbox Code Playgroud) 我的网络服务运行nginx并php使用X-Accel-Redirect标头向客户端传送文件,如果我使用rm /my/folder/*.*它将如何处理客户端当前正在访问/下载的文件?
我有 myapp.com 的有效 SSL 证书,但 www.myapp.com 没有。基于这个问题,在我看来,如果没有获得 www.myapp.com 的另一个证书,就不可能立即从https://www.myapp.com重定向到https://myapp.com。
我试图避免为另一个仅用于重定向到“正确”站点的证书支付更多的钱,但我也想避免在有人无意中访问错误版本时出现严重的安全警告。
是否可以使用自签名证书或任何免费的东西来让某人重定向到正确的版本而无需购买其他证书?