- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 VPS 上设置了一个有效的 webmin,但是在尝试强制它通过 HTTPS 连接后,我在某个地方犯了错误,现在每当我尝试登录时,登录页面都无法正确显示(没有蓝色矩形)背景)并尝试通过 https://server1.domain.me:10000
登录,不断将我重定向到 https://server1.domain.me:10000/webmin/session_login.cgi
,这又是一个登录页面。
在出现故障之前,我在 /etc/apache2/sites-available
中有以下文件
<VirtualHost *:80>
ServerAdmin webmaster@domain.me
ServerName domain.me
ServerAlias www.domain.me
DocumentRoot /var/www/domain.me/
<Directory />
RedirectMatch temp ^/$ /public_html
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/domain.me>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/domain.me/redmine>
AllowOverride None
order allow,deny
allow from all
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</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
ServerSignature On
RailsEnv production
RailsBaseURI /redmine
</VirtualHost>
当我尝试强制 webmin(以及 owncloud,如果重要的话)使用 HTTPS 时,我使用 SSL key 为端口 443 创建了一个新的虚拟主机,并更新了端口 80 的虚拟主机以代理所有 http://domain.me/webmin
到 https://server1.domain.me:10000
(我保留了注释掉的配置供您查看我尝试过的内容):
<VirtualHost *:443>
ServerAdmin webmaster@domain.me
ServerName server1.domain.me
alias /owncloud /var/www/domain.me/owncloud
DocumentRoot /var/www/domain.me/
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/ssl/ssl.crt/server1_domain_me.crt
SSLCertificateKeyFile /etc/ssl/ssl.crt/server1.key
SSLCACertificateFile /etc/ssl/ssl.crt/COMODORSADomainValidationSecureServerCA.crt
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
# <Location /webmin>
# RewriteEngine On
# #RewriteRule (.*) https://server1.domain.me:10000/$1 [R,L]
# ProxyPass https://server1.domain.me:10000/
# ProxyPassReverse https://server1.domain.me:10000/
# </Location>
<Directory /var/www/domain.me/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Satisfy Any
<IfModule mod_rewrite.c>
RewriteEngine on
<IfModule mod_ssl.c>
RewriteEngine On
RewriteRule ^/?(.*)$ https://%{HTTP_HOST}/owncloud$
</IfModule>
</IfModule>
</Directory>
# ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# <Directory "/usr/lib/cgi-bin">
# AllowOverride None
# Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Order allow,deny
# Allow from all
# </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
ServerSignature On
</VirtualHost>
并将我的domain.me虚拟主机文件更新为:
<VirtualHost *:80>
ServerAdmin webmaster@domain.me
ServerName domain.me
ServerAlias www.domain.me
#SSLEngine On
SSLProxyEngine On
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
DocumentRoot /var/www/domain.me/
<Directory />
RedirectMatch temp ^/$ /public_html
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/domain.me>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/domain.me/redmine>
AllowOverride None
order allow,deny
allow from all
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
<Location /owncloud>
ProxyPass https://server1.domain.me/owncloud/
</Location>
<Location /server1>
ProxyPass https://server1.domain.me/webmin/
</Location>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</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
ServerSignature On
RailsEnv production
RailsBaseURI /redmine
#ProxyPassReverse /owncloud https://server1.domain.me/owncloud/
#ProxyPassReverse /webmin https://server1.domain.me:10000/
</VirtualHost>
我还在 /etc/中添加了
webprefix=/webmin
、webprefixnoredir=1
和 referer=domain.me
行webmin/config
但是,这里显然有问题,因为我根本无法登录 webmin。在过去的 5 个小时里,我一直在网上搜索答案,尝试了很多方法,但仍然没有成功。
有什么想法吗?
最佳答案
有 4 个关键的(且未记录的!) key 可以让这个工作,正如我在经历了很多烦恼之后发现的那样!
1) 编辑 /etc/webmin/config
时,请确保 webprefix=/webmin
行末尾没有空格。这将解决登录屏幕格式很奇怪的问题。
2) 您需要在 ProxyPass 中极其精确地使用斜线(并且它们与官方文档不符!)
ProxyPass /webmin/ http://localhost:10000/
ProxyPassReverse /webmin/ http://localhost:10000/
3) 您需要包含 cookie ProxyPass 行(同样不在文档中!)。
ProxyPassReverseCookieDomain /webmin/ http://localhost:10000/
ProxyPassReverseCookiePath /webmin/ http://localhost:10000/
4) 当您浏览 Webmin 时,必须包含尾部斜杠!
http://your.domain.name/webmin/
* 更新 *
关于第 4 点:
为了确保在浏览 Webmin 时始终存在尾部斜杠,请添加这些行(在您的代理通行证之前,如果重要的话?)。添加后,如果您忘记添加斜杠,Apache 会简单地为您完成:
RewriteEngine On
RewriteRule ^/webmin$ /webmin/ [R]
关于apache - Webmin 登录不断循环到 session_login.cgi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27581863/
嗨,我是一名学生,正在实习。不幸的是,我的公司要我用 C 编写 CGI 程序。我不知道他们为什么要使用它。无论如何,我必须在接下来的 2 个月内学习并应用它。我如何以及如何学习 CGI 编程。我有 2
CGI 脚本应该可以访问由 Web 服务器设置的环境变量列表。他们的名字是什么? 最佳答案 有关 CGI 规范,请参阅 RFC 3875,其中包含您需要的所有信息。 :-) 来自 RFC: met
CGI 是通用网关接口(interface)。顾名思义,它是所有事物的“通用”网关接口(interface)。从名字上看,它是如此琐碎和幼稚。我觉得我明白了这一点,每次遇到这个词都有这样的感觉。但坦白
我试图在 uhttpd 服务器 上执行 Cgi-Cpp 程序,该服务器运行 OpenWRT 安装。 Cgi 文件是 /www/cgi-bin/sample.cgi 并且也有执行权限。我正在尝试使用 H
我在目录下有一个 cpanel 帐户: /home/username/ 和一个文件: /home/username/public_html/ 这是index.php 其中包含:
我正在尝试修改我的 EasyPHP 以在 CGI 模式下运行。 根据此链接:http://www.easyvitools.com/phpserial/php_ser_reference.html我必须
有没有办法阻止 lighttpd 将 POST 缓冲到 CGI 可执行文件? 在我看来,所有请求在转发到 CGI 可执行文件之前都已完全缓冲在磁盘上,这使我无法以基于流的方式处理输入。 澄清一下,我只
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
这个问题在这里已经有了答案: Why does my system call to another CGI script work on the command line but not when
我正在设计一个应用程序,它将由 3-4 个服务组成,这些服务作为单独的进程运行并通过合适的 IPC 链接。该系统将有一个网络界面,我想使用那里的任何网络服务器。 应该在某个 URL 下访问 Web 界
这更多是为了理解 web 应用程序中的请求-响应机制。客户端向 Web 应用程序发送请求 (GET/POST)。 Web 应用程序有一个正在运行的应用程序服务器,该服务器用作应用程序特定程序的容器。我
这个问题在这里已经有了答案: Why does my system call to another CGI script work on the command line but not when
我遇到了这个问题:当我访问 URL“bobbabr.org”时,这是正常的,但是当我访问子域“ibobba.bobbabr.org”时,我被重定向到“/cgi-sys/defaultwebpage.c
我在虚拟机上运行的 Win 2k8 R2 上安装了 Mercurial 1.8.1、Python 2.6.6。我试过从 msi、源和使用 tortisehg 安装。命令行 Hg 工作正常,但在运行 h
我正在使用 cgi-bin 并显示一张 map ,其中包含来自 Postgres 数据库的一些数据。 但是,我需要引入一个输入,用户可以在其中选择一个日期,这个日期将从数据库中过滤结果。 我有输入并通
我目前正在尝试为我在带有 Ubuntu 的虚拟机上运行的实际本地网页创建一个简单的登录页面。 我创建了 LoginPage.html在位置 /var/www/html . 然后 HTML 文件调用 l
有谁知道如何配置 lighttpd 来处理普通的 CGI 可执行文件,在这种情况下是用 C 编写的?我已经编译了一个测试程序(test.cgi)并将它放在$HOME/public_html/cgi-b
我有一个 scriptA.cgi,它调用 scriptB.cgi。 scriptB.cgi 需要一个参数。 我都试过了在我尝试过的 scriptA.cgi 中: `perl -l scriptB.cg
我正在尝试让 Python、cgi 模块、ajax/javascript 组合工作。由于我的服务器访问的性质(基本上是租用的网站空间),我无法安装 django 或任何其他网络框架之类的东西。我现在坚
我在 Ubuntu 服务器上安装了标准的 Apache2。默认设置使用 ScriptAlias 将 /cgi-bin/ 引用到 /usr/lib/cgi-bin/。如果我将 Python CGI 脚本
我是一名优秀的程序员,十分优秀!