标签: apache2

Apache2 - 使用BasicAuth授权用户使用位置,但仅限本地子网外的用户使用

在我的Apache 2配置中,我有一个VirtualHost看起来像这样的东西:

<VirtualHost *:80>
  ServerName sub.domain.com

  # username:password sent on to endpoint
  RequestHeader set Authorization "Basic dXNlcm5hbWU6cGFzc3dvcmQ=="

  ProxyPass        /xyz http://192.168.1.253:8080/endpoint
  ProxyPassReverse /xyz http://192.168.1.253:8080/endpoint

  <Location /xyz>
    # This needs to let users through under the following circumstances
    #   * They are in 192.168.1.0/24
    #   * They have a valid user in a htpasswd file

    # So what goes here?
  </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我正在使用虚拟主机作为网络上另一台服务器(我称之为端点)的反向代理.

我试图找出一种配置,允许网络内部的用户sub.domain.com自动为端点提供服务.但是,应提示网络外的用户提供凭据

端点需要一个我使用RequestHeader(我想要的)隐藏的密码.外部用户的密码应该是不同的,需要是BasicAuth,从htpasswd文件中获取用户列表.

apache apache2 apache-config basic-authentication

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

ubuntu上的Apache 2服务器无法解析html文件中的php代码

我在Ubuntu 13.04上安装了apache2,php5和php5 apache模块.

Php正在处理.php文件,但html文件中的PHP代码行不能执行.

谷歌搜索我发现必须添加 AddHandler...AddType...行到httpd.conf但安装的版本没有这个文件或至少找不到它/etc/apache2/

代码示例:

<html>
<head></head>
<body>
    <?php 
      phpinfo(); 
    ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

php ubuntu apache2

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

如何在 Python CGI 脚本中访问 URL 的查询字符串?

我正在尝试访问 python 脚本中的查询字符串:在 bash 中,我将使用${QUERY_STRING}环境变量访问它。

我遇到过这样的事情:/sf/answers/193537571/,但是这个脚本,由 Apache2 运行:

#!/usr/bin/python

print self.request.query_string
Run Code Online (Sandbox Code Playgroud)

不打印任何内容,在命令行中,同样会产生此错误:

$ ./testing.py
Traceback (most recent call last):
  File "./testing.py", line 3, in <module>
    print self.request.query_string
NameError: name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)

我如何阅读query_string

cgi apache2 python-2.7

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

用于 Rails 应用程序的 Apache VirtualHosts

在服务器上已经有一个站点正在运行。我试图让我的 rails 应用程序在同一站点的 url 上运行,即站点是 example.com,而 rails 应用程序将在 example.com/railsapp 上运行。

rails 应用程序将使用乘客,服务器是 ubuntu。当前的 virtualhosts 文件看起来像;

<VirtualHost *:80>
    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    <Directory /var/www/examplesite/>
                Options Indexes FollowSymlinks Multiviews
                AllowOverride All
                Order allow,deny
                allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我需要添加一个单独的主机文件吗?

<VirtualHost *:80> 
 ServerName ??? 
 DocumentRoot /var/www/railsapp/public
 <Directory /var/www/railsapp/public> 
  AllowOverride all 
  # MultiViews must be turned off. 
  Options -MultiViews 
 </Directory> 
</VirtualHost> 
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做...

apache ruby-on-rails apache2 virtualhost

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

PHP Memcached会话无法正常工作

我开始使用memcached来存储会话文件,但是Session不起作用,并且Apache发送响应太慢。我该如何解决这个问题?

php.in中的修改为:

;session.save_handler = files
session.save_handler = memcached
session.save_path = "tcp://127.0.0.1:11211?persistent=1&amp;weight=1&amp;timeout=1&amp;retry_interval=15"
Run Code Online (Sandbox Code Playgroud)

php session memcached apache2

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

JRuby + [error] [client xxxx.xx.xxx.xx]脚本头的过早结束:xxxx,referer:

我在生产中使用以下配置

  • Jruby:1.7.13
  • 的Apache2
  • passenger4.0.48

应用程序运行正常.当我尝试上传图像时抛出apache错误

/var/log/apache2/error.log

[error] [client xxxx.xx.xxx.xx] Premature end of script headers: xxxx , referer: 
Run Code Online (Sandbox Code Playgroud)

mongoid-paperclip gem已用于上传文件.甚至,我已经尝试了这里描述的步骤,但无法解决它.

它的开发工作很好.但是在生产上遇到上述问题.

请帮帮我!提前致谢 :)

ruby-on-rails jruby apache2 production-environment

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

Laravel白页500内部服务器错误

我在Laravel 5上遇到了一些问题.我在我的服务器上安装了PHP和Apache,我使用composer来安装Laravel composer create-project laravel/laravel foldername但是我尝试访问浏览器中的/ public文件夹我只看到一个白页而开发日志说500内部服务器错误.

在我的apache错误日志中,我有以下内容: [Mon Aug 31 19:19:15.855570 2015] [:error] [pid 23556] [client 10.0.2.2:58505] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/test/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied' in /var/www/test/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87\nStack trace:\n#0 /var/www/test/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /var/www/test/vendor/monolog/monolog/src/Monolog/Logger.php(289): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#2 /var/www/test/vendor/monolog/monolog/src/Monolog/Logger.php(565): Monolog\\Logger->addRecord(400, Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array)\n#3 /var/www/test/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(49): Monolog\\Logger->error(Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException))\n#4 /var/www/test/app/Exceptions/Handler.php(33): Illuminate\\Foundation\\Exceptions\\Handler->report(Object(Symfony\\Component\\Debug\\Ex in /var/www/test/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87 [Mon Aug 31 19:19:22.865065 2015] [:error] [pid 23557] [client 10.0.2.2:58507] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message …

php apache2 laravel composer-php ubuntu-14.04

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

使用 2 个命令运行 cron,然后等待第一个完成运行第二个

我的digitalocean droplet中没有足够的内存ram(我知道,我应该优化正在运行的模块和代码,我会这样做,但我需要花一些时间才能做到……)

我想每隔几个小时创建一个运行这个的 cron:

sudo sync
sudo sysctl -w vm.drop_caches=3
Run Code Online (Sandbox Code Playgroud)

但我想确保在运行第二个之前完成第一个,

我怎么能那样做?

cron command apache2 callback ubuntu-12.04

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

Laravel public/index.php 显示为纯文本

我刚刚通过 git cloning 将现有的 Laravel 项目安装到 Web 服务器上。我已经按照 Laravel 指南进行了尽可能多的正确设置,包括像这样设置 Apache 虚拟主机:

<VirtualHost *:80>
    ServerAdmin email@gmail.com

    DocumentRoot /var/www/html/project/public

    <Directory "/var/www/html/project/public">
       AllowOverride all
       RewriteEngine On
       RewriteBase /var/www/project/public
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我还尽我所能设置了目录所有权/文件权限。但是,在访问网站时,显示的是public/index.php 的内容,而不是正在加载的网站。我知道这肯定已经在某处解决过,如果是这样的话,我深表歉意,但我一直无法找到明确的答案。非常感激。

我做过的其他事情:

  • 安装了 php(它随服务器一起加载,版本为 5.5.9)
  • a2enmod 重写
  • 服务 apache2 重新加载
  • .htaccess 的修改
  • 确保加载的页面不是缓存页面

使用的资源:

php apache apache2 laravel laravel-5

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

如果未登录,Wordpress 会保护文件

我过去曾在用户未使用以下代码登录时保护 PDF:

RewriteCond %{REQUEST_FILENAME} ^.*(pdf)$
 RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
 RewriteRule . - [R=403,L]
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它停止对我工作。研究表明,也许 wordpress-logged_in 不再相关,因为它是一个黑客漏洞。如果用户未登录,是否有保护 PDF 文档的替代解决方案?

如果您愿意,这些 pdf 不会嵌入到页面中,而是“热链接”。我不是在寻找一个臃肿的插件。只是一个专门保护 PDF 的解决方案。

编辑:

以下是我的完整 htaccess。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /new/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /new/index.php [L]
</IfModule>

# END WordPress


RewriteCond %{REQUEST_FILENAME} ^.*(pdf)$
RewriteRule ^(.*)$ /wp-content/download-protect.php?file=$1 [L]

# disable directory browsing in WordPress
 Options -Indexes

# protect wp-config.php
 <files wp-config.php>
order allow,deny
deny from all
</files>

# …
Run Code Online (Sandbox Code Playgroud)

php pdf wordpress .htaccess apache2

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