我有一个使用mod_proxy在Apache后面的gunicorn服务器。 Gunicorn在http://localhost:8080/ 。 假设我的服务器位于http://example.com/ 有时,当我发布一个无效的链接到我的服务器(如忘记尾随),让我们说http://example.com/with-no-trailing-slash ,用户被redirect到http://localhost:8080/with-no-trailing-slash ,因为客户机上没有服务器,所以无效。 你知道为什么它的行为? 如何解决这个问题? 要启动gunicorn我这样做: sudo gunicorn -b localhost:8080 app:app <VirtualHost *:80> ServerName example.com ServerAlias example.com DocumentRoot /opt/example <Proxy *> AuthType basic AuthBasicAuthoritative Off SetEnv proxy-chain-auth On Order allow,deny Allow from all </Proxy> # Let apache serve static files ProxyPass /robots.txt ! ProxyPass /favicon.ico ! ProxyPass /static/ ! Alias /static/ […]
我在Ubuntu 14.04上安装了Apache 5.4的PHP 5.4。 Php 5.4在apt-get上不可用,所以我必须从源代码安装。 我已经安装了 apache2-prefork-dev apache2-mpm-prefork 而我configurationPHP ./configure –with-apxs2=/usr/bin/apxs2 –with-mysql –with-curl 然后我build立并安装。 我将这行添加到/etc/apache2/apache2.conf: LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_prefork.so LoadModule php5_module modules/libphp5.so AddType application/x-http-php .php 当我尝试重新启动Apache时出现此错误: module mpm_event_module is already loaded, skipping 我在.conf文件里面search,但是之前没有加载模块。 编辑: 正如@Andrew Schulman的回答,我可以find它 /etc/apache2/mods-available/mpm_event.load 当我跑步 a2enmod mpm_event 我得到这个: Considering conflict mpm_worker for mpm_event: Considering conflict mpm_prefork for mpm_event: Considering conflict mpm_itk for […]
我有几个网站运行一个StartSSL免费证书( CJSHayward.com , JobhuntTracker.com ),Firefox拒绝StartSSL,并显示一个错误页面,说我的服务器没有正确configuration(IIRC),因为证书链。 我寻求帮助,并确认我的VirtualHost(可应要求提供)用于证书链,并且正确安装了中间证书。 显示的网站没有错误,我知道在Chrome,Safari,Edge或Opera中。 经过一番search, 让我们encryption! 看起来像一个有吸引力的产品,不久之前,我有(AFAICT)一个私人密钥和/ etc / apache2 / sites-enabled下的每个域的证书,当然减去任何域不再是我的。 我想我会做一个试运行,并build立一个HTTPS连接到现在只能在HTTP: JSH.name下的站点。 我提出了“让我们encryption!” 证书和私钥到我的SSL目录并添加: <VirtualHost *:443> ServerAdmin [email protected] DocumentRoot /home/jonathan/stornge SSLEngine On SSLCertificateFile /etc/apache2/ssl/0000_csr-letsencrypt.pem SSLCertificateKeyFile /etc/apache2/ssl/0000_key-letsencrypt.pem ServerName jsh.name ServerAlias www.jsh.name LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog /home/jonathan/logs/stornge.com combined <Directory /home/jonathan/stornge/> Options ExecCGI Indexes FollowSymLinks […]
我正在使用certbot –webroot插件和certbot renew更新证书,这工作,但它看起来像httpdcaching证书,并不“看到”,它已被更新。 有一个信号为httpd重新加载证书? PS我宁愿不重新启动httpd以避免宕机。
我使用LocationMatch指令在匹配某些URL模式时设置标题: # 1 # Expected matches: //mysite.com/any-page-with-at-least-a-character-and-no-dot <LocationMatch "^/[^\.]+$"> Header set X-Intelligence "STUPID" </LocationMatch> # 2 # Expected matches: //mysite.com/ , //mysite.com/main , //mysite.com/about <LocationMatch "^/(|main|about)$"> Header set X-Intelligence "CLEVER" </LocationMatch> 然而,URL //mysite.com/匹配#1而不是#2。 这是一个错误还是我做错了什么? 我甚至尝试在#2中使用正则expression式"^/(main|about)?$" ,但仍然没有爱。
我有一个全球入口 Alias /.well-known/acme-challenge /var/www/letsencrypt/.well-known/acme-challenge/ 在我的apacheconfiguration中,在任何虚拟主机之外。 这样,以上别名对所有虚拟主机都有效。 不幸的是,仍然存在这样的虚拟主机,其不能按预期工作,例如由于redirect,authentication要求等。 有没有办法告诉Apache甚至在读取特定虚拟主机的configuration之前考虑这个别名?
我已经search了一个答案,但似乎无法find任何实质性的有关这个问题。 应该在Apache2.4上使用mod_proxy_fcgi或mod_fastcgi和php-fpm? 在安全性和性能方面是否有区别? 任何build议? 在此先感谢您的帮助。
像这样的东西? # TLS v1.0+ for one IP <VirtualHost _default_:443> Order deny,allow // <————- HERE Deny from all // <————- HERE Allow from 10.20.30.40 // <————- HERE 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:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK SSLHonorCipherOrder on SSLCompression off … </VirtualHost> # TLS v1.2 for everyone else <VirtualHost _default_:443> Order allow,deny // <————- HERE Deny from 10.20.30.40 // […]
经过一番研究,我无法find答案:如何更新 Apache / httpd到最新版本在我的VPS上使用HTTP / 2协议。 我使用基于Apache的PHP7和我的服务器 – CentOS 7。 CentOS上没有软件包更新默认回购。 [root@vps270238 ~]# httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Nov 19 2015 21:43:13 我真的想保持我的实际设置和虚拟主机。
我有一个运行两个Web应用程序的服务器:Gerrit和Mantis BT。 现在,这些应用程序连接到LDAP服务器来validation用户,它工作正常。 但用户必须为每个应用程序进行身份validation; 我想允许用户只validation一次(可能使用Apache + LDAP),并重用凭据在两个应用程序中自动login用户。 我现在的networking架构: 我想要的networking架构: 我甚至不知道在Google上寻找什么,因为我一般不熟悉HTTP身份validation和服务器pipe理。 任何解决scheme或指向我想要的东西将不胜感激。 组态: Ubuntu服务器14.04 LTS Apache2 2.4 格里特2.10 螳螂BT 1.2.19 重要笔记: 我想保留Gerrit。 我可以使用另一个错误跟踪器,如果它做我想要的东西很容易。