我有一个.htaccess重写,我想移动到一个vhost.conf(我不想使用.htaccess) RewriteRule ^(.*?)(test_mod_rewrite) /$1media/plg_jchoptimize/assets/modrewrite.php?q=$2 RewriteRule ^(.*?)(gz|nz)/([^/]+)/([^/]+)/([^/]+)\.(js|css)$ /$1media/plg_jchoptimize/assets/jscss.php?f=$5&type=$6&gz=$2&d=$3&i=$4 假设我已经启用了适当的模块,并满足了先决条件(RewriteEngine On等),需要进行哪些更改才能使此规则在vhost.conf文件中工作?
我试图让他的主机名后面有一个参数,如下所示: www.domain.com/parameter 出于这个原因,我已经设置了下面的rewriteRule,我想使用两个参数值: RewriteRule ^(en|pt)$ /index.php?language=$1&%{QUERY_STRING} [L] 工作正常! 虽然,我需要创build一个新的规则,redirect任何请求没有列出的参数。 出于这个原因,我认为这将工作: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^(en|pt)$ RewriteRule ^(.*)$ /pt/$1/ [L,R=301] 但不幸的是显示redirect循环。 我已经得到: http://hostname/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt/pt// 任何提示如何解决这个赞赏!
我试图获得一个在Tomcat 6中运行的Web应用程序来授权经过Apachevalidation的用户。 我configuration了Apache 2.4以使用Active Directory进行用户身份validation(使用来自Centrify的模块),并将ProxyPass / ProxyPassReverse请求用于Tomcat。 现在我正试图弄清楚如何在应用程序中使用这些凭据。 以Tomcat 6pipe理器应用程序为例,我该如何改变它以识别已validation的用户并检查合适的angular色? 我假设我必须更改server.xml中的领域,可能是JNDIRealm或JAASRealm,但是,文档谈论领域是“一个”数据库“或用户名和密码”。 这是正确的路吗? 我还假设我需要更改web.xml中的loginconfiguration,但我不知道什么值使用呢。 如果有人能引导我正确的方向或build议其他途径探索,我将不胜感激。 顺便说一句,我也在尝试直接在Tomcat中validation用户,但被要求查看Apache代理路由的偏好。
我正在尝试使用我的.htaccess文件中的Redirect和RedirectMatch规则来模拟我的站点以前版本的永久链接结构。 我有不同的规则,我会适用于从我的旧网站不同的path。 有些目录没有模拟,我希望他们redirect到一个单一的位置。 有些目录在不同位置包含许多项目(数千个),我希望它们能够巧妙地redirect到新站点中正确的新位置。 似乎我可以在<If>上通过基本的正则expression式testing来防范和分组相关项目,以防止所有包含的分组redirect被testing,如果它们永远不匹配的话。 在这种方法中,生成的configuration看起来是合乎逻辑和一致的,并且可以很容易地自动生成: <If "%{REQUEST_URI} =~ m#^/categories/software/.*#"> # These rules aren't considered if the request wasn't for a subpath of categories/software. <If "%{REQUEST_URI} =~ m#^/categories/software/store/.*#"> # All old store pages now invalid, go to main store. RedirectMatch 301 .* /software-store/ </If> # Regexes for each category of software to group them logically. […]
在我的Apache 2.4虚拟主机我试图让所有的https://stream量继续到端口443,但所有ws://stream量转发到ws://*:6969 。 例如: 正常情况下, https://example.com/index:443 https://example.com/index //example.com/index只会转到https://example.com/index:443 。 ws://example.com/anypathhere/将被转发到ws://example.com/anypathhere:6969 到目前为止,我已经尝试了在vhost中注释掉的值。 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key DocumentRoot /var/www/html/ RewriteOptions Inherit AccessFileName .htaccess AllowEncodedSlashes NoDecode DirectoryIndex disabled <Directory /var/www/html> Options +FollowSymlinks RewriteEngine On AllowOverride All Require all granted RewriteCond %{REQUEST_FILENAME} -d RewriteRule .* %{REQUEST_URI}index.php [L] </Directory> ServerName localhost.localdomain #ProxyPreserveHost On #ProxyRequests Off #ProxyPassMatch […]
我们的公司networking使用带有反向代理的Sophos防火墙,该代理被configuration为允许HTTPS连接。 在我们意识到我们的一些客户端无法通过HTTPS进行连接之后,我们的内部networking部门告诉我们,Apache反向代理的OpenSSL设置可能会根据我们的特定需求进行调整,但每次Sophos防火墙更新都可能会覆盖设置。 有没有一种方法来保护OpenSSLconfiguration,以便Sophos更新无法更改? “奖金”问题:商业防火墙产品的一个共同特点是否覆盖客户configuration? ;)
以下是我的https代理虚拟主机conf <VirtualHost *:443> ServerAdmin [email protected] ServerName example.openjuice.co ProxyRequests off SSLEngine on SSLProxyEngine On SSLCertificateFile /etc/ssl/cert/certs/apache.crt SSLCertificateKeyFile /etc/ssl/cert/certs/apache.key <Proxy *> Order deny,allow Allow from all </Proxy> <Location /> ProxyPass https://localhost:3006/ ProxyPassReverse https://example.openjuice.co:3006/ </Location> </VirtualHost> 但是我得到错误 代理错误 代理服务器收到来自上游服务器的无效响应。 代理服务器无法处理请求GET /。 原因:从远程服务器读取错误 请帮助我
我正在使用由Go Daddy发布的SSL证书。 在我的Linux实例以下是软件的详细信息: Apache版本 – Apache / 2.4.16(亚马逊) OpenSSL版本 – OpenSSL 1.0.1k-fips 2015年1月8日 mod_ssl版本 – mod_ssl-2.4.2 注意: – 我从RPM软件包安装了Apache,后来我从rpm软件包安装了mod_ssl和openssl。 1)问题是,当我禁用SSLv3和testingSSL服务器从https://www.ssllabs.com/ssltest/它给我警告“这个服务器不支持TLSv1.2是最好的” ,当我启用TLSv1 .2协议相同的testing警告我有关“此服务器支持SSLv3协议,易受Poodle攻击”如何禁用SSLv3并在服务器上同时启用TLSv1.2? 我的有关SSL的Vhost文件的当前configuration是: SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on 2)我不能创build一个强大的Diffie-Hellman组。 当前是1024位的Diffie-Hellman组,并且希望为该站点创build2048位组。 我发出这个命令来生成2048位密钥: openssl dhparam -out dhparams.pem 2048 而我在VHost的configuration是: SSLOpenSSLConfCmd DHParameters /etc/httpd/dhparams.pem 当我重新启动服务器错误消息popup: Invalid command 'SSLOpenSSLConfCmd', perhaps misspelled or defined by a module not […]
我有域名example.com与子域名:www.example.com和a.example.com。 假设我不能购买通配符证书,但是我购买了example.com和www.example.com的证书。 现在我购买了a.example.com的证书。 该网站和它的子域位于同一个文件夹中,使用一个Apache vhost文件,并将子域定义为别名。 我可以将证书合并成一个文件吗? 如果我使用相同的密钥,csr文件来生成证书呢? 是唯一的解决scheme宣布在两个不同的虚拟主机的网站?
我正在尝试运行一个内部的Apache服务器。 我正在尝试制作一个像http:// internalserver这样的主页/这将有一些文件和文件夹。 我正在尝试密码保护这些子文件夹之一。 我为此使用.htaccess。 我的问题是,完成后,我的密码保护子文件夹是不可见的在我的基本目录http:// internalserver / 如果我从浏览器访问http:// internalserver / passwordprotected /直接,我可以得到密码提示和经常导航 我在Ubuntu14上运行apache2.4 我希望能够看到密码保护的目录列表,并试图访问它,获取密码提示