我对 Apache 还很陌生,希望设置一个反向代理以便能够访问我从一个站点拥有的一些 IP 摄像机的 Web 界面。我使用的基本布局如下:
/ Cam 1 - 192.168.1.10
Reverse Proxy - 192.168.1.6 -
\ Cam 2 - 192.168.1.11
当我单击链接时,它无法正确解析,URL 应该是
http://192.168.1.6/cam1/settings.htm
,但它解析为 http://192.168.1.6/setting.htm
Not Found
The requested URL /setting.htm was not found on this server.
Apache/2.2.22 (Debian) Server at 192.168.1.6 Port 80
我的配置在这里,我使用标准的 httpd.conf 并启用了代理和重写模块:
ProxyRequests off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
<VirtualHost *>
Servername webserver
RewriteEngine on
RewriteRule ^/cam1/(.*)$ http://192.168.1.10$1 [P]
RewriteRule ^/cam2/(.*)$ http://192.168.1.11$1 [P]
ProxyPass /cam1 http://192.168.1.10
ProxyPassReverse /cam1 http://192.168.1.10
ProxyPass /cam2 http://192.168.1.11
ProxyPassReverse /cam2 http://192.168.1.11
</VirtualHost>
如有任何帮助,我们将不胜感激。
干杯, 亚当
在日志中,您可以清楚地看到缺少一些文件,例如 文件不存在:/var/www/jpg 和 /var/www/lang 所以这可能是您存储问题的原因。我敢打赌您在服务器或您的服务器 msy 由于某些其他文件而在运行时损坏了这些文件时错过了一些配置。我建议您重新下载,然后重新安装。
对于未来的用户:
cat /etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from 192.168.5.25
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass /cameras/ http://192.168.5.6/
ProxyPassReverse /cameras/ http://192.168.5.6/