AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-172701

anup's questions

Martin Hope
anup
Asked: 2021-03-19 23:19:59 +0800 CST

Varnish - 如何在响应标头中设置 TTL?

  • 0

我以前没有在 Varnish 上尝试过这个。而且我必须承认,我上一次使用 Varnish 的经历要追溯到很久以前 - 版本 2.1.5 天!

我已将 varnish 6.x 设置为简单/基本的静态 http-cache。我已经从这个清漆中实现了我希望的大部分内容,然后我想到了将 cache-ttl 信息显示为响应标头。在这里,我遇到了障碍。我肯定做错了。可能 vcl_delivery 可能不会得到 beresp.ttl。我不知道。这是我添加到 vcl_deliver

 set resp.http.X-TTL = "TTL (" + beresp.ttl +")";

我得到编译错误:

Mar 19 07:05:41  varnishd[55516]: Message from VCC-compiler:
Mar 19 07:05:41  varnishd[55516]: ('/etc/varnish/default.vcl' Line 97 Pos 40) -- (Pos 49)
Mar 19 07:05:41  varnishd[55516]:     set resp.http.X-TTL = "TTL (" + beresp.ttl +")";
Mar 19 07:05:41  varnishd[55516]: ---------------------------------------##########------
Mar 19 07:05:41  varnishd[55516]: Not available in method 'vcl_deliver'.

我尝试将 beresp.ttl 分配为 vcl_backend_response 中的标头变量:

set beresp.http.x-ttl = beresp.ttl

那也没有用。

让我想知道,这是否可能?如果是这样,如何实现?

varnish ttl
  • 1 个回答
  • 232 Views
Martin Hope
anup
Asked: 2016-02-10 00:00:35 +0800 CST

如何在 Nginx 中代理传递一个 URL,其中位置匹配是一个 URL,而代理传递有另一个 URL

  • 0

我们在 Amazon AWS 上的 S3 存储桶中托管了一些 xml 文件。Web 服务器由 Nginx 提供支持。对于匹配 '/super-shots.xml' 的特定 URL,Nginx 必须代理通过 S3 位置,即:http ://mybucket.s3.amazonaws.com/depth0/depth1/depth2/sitemap.xml

我想要的是这个(Nginx 配置):

location ~* /super-shots.xml {
    proxy_pass http://mybucket.s3.amazonaws.com/depth0/depth1/depth2/sitemap.xml;
}

结果是一个错误:

nginx:[emerg]“proxy_pass”不能在正则表达式给出的位置、命名位置、“if”语句或“limit_except”块中包含URI部分

如果我不进行正则表达式匹配 (~*|~),则没有语法错误,但页面返回 404。请注意,系统路径上不存在该文件。

我曾尝试四处寻找解决方案,但大多数都将路径视为匹配项。我该如何解决这个问题?

现在,我已经完成了一个基于路径的代理传递,它可以工作(如下所示)。但是,我希望它与 URL 匹配。

#Nginx Config:
location  /super-shots {
    proxy_pass http://mybucket.s3.amazonaws.com/depth0/depth1/depth2/sitemap.xml;
}

# On file system : Empty directory
mkdir $docroot/depth0/depth1/depth2/

nginx -s reload

更新 1:基于 Alexey Ten 的评论。Nginx 配置示例可以在这里找到

nginx
  • 1 个回答
  • 5377 Views
Martin Hope
anup
Asked: 2015-03-21 05:31:41 +0800 CST

Nginx:如何从 htpasswd 授权中排除带有查询参数的 URL

  • 2

wordpress 站点的 /wp-login.php 使用 htpasswd 受 HTTP 授权保护。Web 服务器是 Nginx。下面给出了相同的配置。

与插件关联的 URL 使用 wp-login.php?query-parameters 来管理内部用户。URL 的示例是:
http://beta.timepass.com/wp-login.php?action=wordpress_social_authenticate&mode=login&provider=Facebook

我只需要允许那些匹配查询参数的 URLaction=wordpress_social_authenticate绕过 htpasswd。我尝试了几件事,但无济于事!Nginx 不接受auth_basic "off"它的 if 条件。

Nginx 配置供参考:

server {
  listen 80;
  server_name beta.timepass.com;
  root /var/www/projects/beta.timepass.com;
  index index.php index.html index.htm;
  autoindex off;
  access_log /var/log/nginx/beta.timepass.com-access.log;
  error_log /var/log/nginx/beta.timepass.com-error.log;


  try_files $uri $uri/ /index.php?$args;


## Disallow direct access to wp-login.php
    location ~* ^/wp-login.php {
        #satisfy any;
        #allow 192.168.1.0/24;
        allow 192.168.1.157;
        auth_basic "Site Needs You to Authenticate";
        auth_basic_user_file /etc/nginx/htpass-beta ;

        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ \.php$ {
    expires off; ## Do not cache dynamic content
    #add_header Pragma public;
    #add_header Cache-Control "public, max-age=300";

    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/projects/beta.timepass.com$fastcgi_script_name;
    fastcgi_read_timeout 60s;
  }

}
nginx
  • 1 个回答
  • 2216 Views
Martin Hope
anup
Asked: 2014-02-06 02:16:34 +0800 CST

可以使用 pecl install pdo_sqlsrv 在带有 php 5.5.3 的 Linux/Ubuntu 上安装 pdo_sqlsrv 驱动程序吗?

  • 3

很可能,我在某个地方忽略了一个小字,所以这个问题可能听起来很愚蠢,但会消除我的疑虑。

我花了几个小时试图在 Ubuntu 13.04 PHP 5.5.3 服务器上安装 pdo_sqlsrv PDO 驱动程序。该尝试基于发送给我的 phpinfo() 屏幕截图,显示此类驱动程序可用并已启用。所以,我试图让它在 Ubuntu-PHP 机器上运行。

当我检查时,我看到 pdo_sqlsrv 和 sqlsrv 可用

pecl search sqlsrv

在尝试安装它(pecl install pdo_sqlsrv)时,我遇到了 phpize 问题:“找不到 config.m4”(-这个问题在网络上有很多报道,但没有明确的解决方案)。

然而,后来我意识到如果这个模块是用于基于 Windows 的设置而不是基于 Linux 的 PHP。有人可以确认并指出启用 MSSQL 驱动程序的 PHP 的理想设置。

linux
  • 1 个回答
  • 13538 Views
Martin Hope
anup
Asked: 2013-10-30 00:06:14 +0800 CST

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

  • 24

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

<Location "/robots.txt">
    SetHandler None
</Location>
Alias /robots.txt /var/www/html/robots.txt

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

location ^~ /robots.txt {
        alias /var/www/html/robots.txt;
}

我尝试过使用'=',甚至将其放入其中一个虚拟主机中进行测试。似乎没有任何效果。

我在这里想念什么?还有另一种方法可以实现这一目标吗?

nginx
  • 5 个回答
  • 62997 Views
Martin Hope
anup
Asked: 2013-09-20 07:05:35 +0800 CST

带有tomcat 6的Solr 4.4在tomcat管理器上抛出503

  • 1

系统详细信息:
操作系统:Cent OS 5.5 x86_64
java - 1.7 (1.7.0_25)
tomcat:6.0.37
solr 4.4(配置为多核)

我在码头上完美运行了 solr 4.4 多核(尽管目前只运行一个核心)。

我需要在 tomcat 6 上运行相同的程序,看看它是否可以比码头更好。

这是我所做的: 1.从http://mirrors.sonic.net/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz
下载了 tomcat 6

2. 将apache-tomcat-6.0.37.tar.gz解压到/usr/local/tomcat/
创建启动和关闭脚本,进程通过user:group tomcat:tomcat查看启动脚本,发现tomcat运行正常. 我将端口从 8080 修改为 8400

3.在tomcat下为solr app创建了一个solr.xml: 文件:/usr/local/tomcat/conf/Catalina/localhost/solr.xml

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/var/www/projects/solr-oncars/example/solr/solr-4.4.0.war" debug="0" privileged="true" allowLinking="true" crossContext="true">
    <Environment name="solr/home" type="java.lang.String" value="/var/www/projects/solr-oncars/example/solr" override="true" />
</Context>

4. 复制 solr.war 到 core 的 home-path

cp /var/www/projects/solr-oncars/example/webapps/solr.war  /var/www/projects/solr-oncars/example/solr/oncars/

甚至尝试使用 solr-4.4.war

cp /var/www/projects/solr-oncars/dist/solr-4.4.0.war /var/www/projects/solr-oncars/example/solr/

5. 编辑 solrconfig.xml
5.a:我尝试
从以下位置编辑 solrconfig.xml 中的数据目录:

<dataDir>${solr.core0.data.dir:}</dataDir>

至:

<dataDir>${solr.core0.data.dir:/var/www/projects/solr-oncars/example/solr/oncars/data}</dataDir>

5.b上面的设置还原后我也试过了

6. 将 slf4j jar 复制到 tomcat: 当我尝试从 tomcat 管理器启动 solr 应用程序时,在 catalina 日志中遇到很多 sl4j 错误。这是通过将 sl4j 库从 solr 复制到 tomcat 来解决的。如下所示:

cp -v /var/www/projects/solr-oncars/example/lib/ext/slf4j-*  /usr/local/tomcat/lib/
cp -v /var/www/projects/solr-oncars/example/lib/ext/log4j-1.2.16.jar  /usr/local/tomcat/lib/

从 1 到 6 完成了从 tomcat 执行现有的 solr。在 Tomcat 管理器下,“/solr”显示为已启动。Stop 和 Start 一样不会抛出错误。

我可以看到 solr 文件夹是在 tomcat 的 webapps 下创建的:

ll webapps/solr/

输出:

-rw-r--r-- 1 tomcat tomcat 5642 Jul 10 11:11 admin.html
drwxr-xr-x 3 tomcat tomcat 4096 Sep 19 18:53 css
-rw-r--r-- 1 tomcat tomcat 1146 Jul 10 11:11 favicon.ico
drwxr-xr-x 4 tomcat tomcat 4096 Sep 19 18:53 img
drwxr-xr-x 4 tomcat tomcat 4096 Sep 19 18:53 js
drwxr-xr-x 2 tomcat tomcat 4096 Sep 19 18:53 META-INF
drwxr-xr-x 2 tomcat tomcat 4096 Sep 19 18:53 tpl
drwxr-xr-x 3 tomcat tomcat 4096 Sep 19 18:53 WEB-INF

当从 tomcat 管理器中单击 /solr 时,即 URL:http ://localdomain.com:8400/solr/ 出现以下页面:

HTTP 状态 503 - 服务器正在关闭

类型状态报告

消息服务器正在关闭

描述 请求的服务当前不可用。
Apache Tomcat/6.0.37

SOLR 配置: /var/www/projects/solr-oncars/example/solr/solr.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
  <cores adminPath="/admin/cores">
    <core schema="schema.xml" name="oncars" instanceDir="oncars" conf="solrconfig.xml"/>
  </cores>
</solr>

我曾尝试在网上寻找帮助,但找不到任何有效的方法。甚至来自 serverfault 的资源

tomcat6
  • 1 个回答
  • 1242 Views
Martin Hope
anup
Asked: 2013-05-29 02:47:15 +0800 CST

mysqldump 忽略带通配符的表

  • 10

我需要转储包含 50 个奇数表的数据库,我想排除其中大约 15 个有前缀的奇数exam_

我试过了mysqldump --ignore-table=dbname.exam_* ,甚至试过--ignore-table=dbname.exam_% 了,没有达到预期的效果。我不得不--ignore-table多次使用。

编辑:我已经看到一些列出tables not like tablename_%并将其传递给mysqldump.

但是,我想知道 mysqldump 或 mysql 中是否有一个选项,无需编写脚本即可执行相同的操作。

编辑添加:最终使用脚本转储不包括表的数据库,使用ignore-table=多次。

mysql
  • 3 个回答
  • 27192 Views
Martin Hope
anup
Asked: 2013-05-10 22:44:17 +0800 CST

pfense 需要重新启动才能影响现有 NAT 的更改

  • 0

使用 PFSense 版本:2.0-RC1 (i386)

在 pfsense 中更改现有 NAT 规则时,我发现该规则在以下情况下不起作用:1. 规则存在但更改了其端口号或目标 LAN ip 或两者都更改了 2. 映射是使用 pfsense 负载平衡完成的,但这是禁止使用 NAT。

在上述两种情况下,我总是不得不重新启动防火墙。好像系统中的错误。

我目前的情况如下:

存在的规则:src-any:port1 --nat--> lan-ip1:port2

规则修改为:src-any:port1 --nat--> lan-ip1:port3

规则已更改并加载。我也从 shell 验证过。它显示了更改后的 nat 设置。但是连接失败。我从 web-gui 做了一个重置​​状态,但那暂时有效,后来失败了。

我检查了 LAN 网络,发现该服务正常工作。它仅在中间有防火墙的 Internet 上失败。

是否有任何 shell/cli 方法可以使它正常工作。任何可以在这里帮助我的 freebsd/pfsense 命令。因为,我要到午夜才能重新启动防火墙(允许停机)。

nat
  • 1 个回答
  • 11806 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve