我有一台 Ubuntu 服务器,但有一些我无法理解的奇怪事情。
我无法通过 IP 地址 ping 到服务器,但我可以 ssh 到它。我可以通过命令行访问服务器内的 apache 服务器,但我无法在我的 Windows 浏览器中访问。
我现在需要检查什么样的设置?
我曾经在 etc/conf/httpd.conf 中编辑设置以获得更好的内存性能
<IfModule prefork.c>
StartServers 2
MinSpareServers 3
MaxSpareServers 3
ServerLimit 15
MaxClients 15
MaxRequestsPerChild 1000
</IfModule>
Run Code Online (Sandbox Code Playgroud)
现在,在 64 位 Centos 7 上,只有 /etc/conf.modules.d/10-php.conf 中的 httpd.conf 中没有设置:
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
Run Code Online (Sandbox Code Playgroud)
那么在 Centos 7 中的这个新设置是如何实现同样的事情的呢?
我想与 apache 网络服务器实现相互身份验证(双向)。
参考:
1.无法使用 CA 根密钥签署 CSR
2.添加 CA 签署的客户端证书时 Firefox 错误消息
经过许多步骤:
我现在可以使用 https 访问服务器,但对于所有用户。
我只希望获得 CA 签名证书的授权用户能够访问我服务器上的网页。我需要/etc/httpd/conf.d/ssl.conf
按照本教程编辑 ssl.conf
,我对 ssl.conf 做了这个:
SSLVerifyClient require
SSLVerifyDepth 2
Run Code Online (Sandbox Code Playgroud)
更新#1:
当然,我已将证书设置为由 CA 签名的证书:
# Server Certificate:
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /var/www/sslConf/server.crt
# Server Private …Run Code Online (Sandbox Code Playgroud) 我试图让一个VirtualHost用 Apache 2.2 编写的文件在 Apache 2.4 中工作,虽然我对它做了一些更改,但它没有通过 Apache configtest. 这个想法是在本地测试站点。这是在 Apache 2.2 中显然有效的原始文件:
<VirtualHost local.in2014.mini.debconf.org:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/in2014.mini/website/
<Directory />
Options +FollowSymLinks +Includes
AllowOverride None
</Directory>
<Directory /var/www/in2014.mini/website/>
Options +Indexes +FollowSymLinks +MultiViews +Includes
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这些是我为更改为 Apache 2.4 所做的更改:
$ cat /etc/apache2/sites-enabled/minidebconfindia.conf
<VirtualHost mini:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/in2014.mini/website
<Directory />
Options FollowSymLinks +Includes
Require all granted
</Directory>
<Directory /var/www/html/in2014.mini/website/>
Options Indexes FollowSymLinks MultiViews +Includes
Require all granted
</Directory>
</VirtualHost> …Run Code Online (Sandbox Code Playgroud) 我修改了 myopenssl.cnf为某些操作指定了自定义引擎。如果我openssl直接通过二进制文件它工作正常,但如果我libssl从另一个程序加载它似乎根本不使用该配置文件,所以我的引擎不可用。我最终希望引擎可以通过 Apache 使用mod_ssl。我想我可以使用SSLCryptoDeviceApache 配置指令来指定要使用的引擎,但是由于它没有读取我的 OpenSSL 配置,所以它没有加载我的自定义引擎,所以它不可用。有没有办法告诉 OpenSSL(直接或可能通过 Apache)加载我的引擎?
我正在使用 Apache 和 PHP 在 CentOS6 服务器上进行开发。当我对 PHP 文件进行更改(并保存)时,似乎 apache 没有读取更改后的文件 - 它仍在处理我的旧 .php 文件。5-10 分钟后,它将开始使用新文件。
有人能告诉我如何强制 Apache 立即获取更改的 .php 文件吗?
更新:我将文件移到 apache 服务器上,但问题仍然存在(这不是 NFS 问题)。因此,似乎 Apache 只是在几分钟内没有读取更改后的文件 困惑...
我设法使用 php-cgi 和 userdir 配置了 Apache,我可以使用domain.com/~userN/. 但是一切都在 www-data 用户下运行。我想启用suexec运行.php和其他 CGI 文件。
我的问题是如何让suexec一起工作userdir模块?如果用户目录不在一个路径下,例如/home/*/*/userN/public_html和/home/*/userN/public_html. 下面的所有内容都public_html应该以拥有该目录的用户身份运行。Apache 文档对我来说不够清楚,我无法完成这项工作。
操作系统是 Debian Jessie,安装的软件包是apache2-suexec-custom.
我正在尝试通过 Apache (RHEL 7) 中的 mod_nss 实现 TLS。根据文档,我已经安装了mod_nss并删除了mod_ssl。
我遵循了文档中概述的步骤(参见上面的链接),特别是确保NSSProtocol指令读取如下(根据文档,这将禁用除 TLS 版本 1 及更高版本之外的所有 SSL 和 TLS 协议版本):
NSSProtocol TLSv1.0,TLSv1.1
Run Code Online (Sandbox Code Playgroud)
然后我重新启动了Apache并测试是否启用了SSLv3:
openssl s_client -connect localhost:443 -ssl3
Run Code Online (Sandbox Code Playgroud)
返回:
[root@box1 ~]# openssl s_client -connect localhost:443 -ssl3
CONNECTED(00000003)
139894684407712:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:339:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported …Run Code Online (Sandbox Code Playgroud) 我在虚拟托管服务器上安装了 OpenSuSE,运行多个虚拟网站。在正常的 http 上一切正常。除了 http 之外,我现在还想在 https 上运行我的一个虚拟站点。因此,我购买了 SSL 证书。我已将我的证书文件复制到服务器:
SSLCertificateFile /etc/apache2/crt/site.crt
SSLCertificateKeyFile /etc/apache2/key/my.key
SSLCACertificateFile /etc/apache2/ca.txt
Run Code Online (Sandbox Code Playgroud)
我在文件“/etc/sysconfig/apache2”中的 Apache 模块中启用了 SSL
APACHE_MODULES="rewrite actions alias auth_basic authn_file authz_host authz_groupfile authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir php5 reqtimeout authn_core authz_core alias_module headers"
Run Code Online (Sandbox Code Playgroud)
在 /etc/apache2 我的 listen.conf 说:
Listen 80
<IfDefine SSL>
<IfDefine !NOSSL>
<IfModule mod_ssl.c>
Listen 443
</IfModule>
</IfDefine>
</IfDefine>
Run Code Online (Sandbox Code Playgroud)
我的 vhost 配置文件说:
<IfDefine SSL>
<IfDefine !NOSSL>
<VirtualHost *:443>
DocumentRoot "/srv/www/vhosts/dialogis-mediation.de/"
ServerName dialogis.coach:443
ServerAdmin juergen.tolksdorf@mac.com
ErrorLog …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Debian 上编辑一个 Apache 模块(严格来说,我是在 Raspbian Jessie-Lite 上这样做的),并且大致遵循Debian 构建说明:
$ mkdir -p ~/src/debian; cd ~/src/debian
$ apt-get source apache2-bin
$ cd apache2-2.4.10
$ debuild -b -uc -us
Run Code Online (Sandbox Code Playgroud)
在旧的原始 Pi 上,构建过程大约需要一个半小时。这很好。一次!但我相信构建过程正在执行make clean,因此在对单个 mod_*.c 文件进行小幅编辑后,它想要重建整个东西,这有点减慢了我的开发速度!
我尝试添加-dc到debuild命令中,但它没有构建任何东西。我什至尝试删除目标 mod_*.so 文件以“鼓励”它重建它,但仍然没有!
更新 2016-08-21:将 -nc 添加到 debuild 命令不会导致模块重新编译。这是该命令的输出:
$ debuild -b -uc -us -nc
dpkg-buildpackage -rfakeroot -D -us -uc -b -nc
dpkg-buildpackage: source package apache2
dpkg-buildpackage: source version 2.4.10-10+deb8u5
dpkg-buildpackage: source distribution jessie-security
dpkg-buildpackage: source changed by Salvatore …Run Code Online (Sandbox Code Playgroud) apache-httpd ×10
debian ×2
ssl ×2
c ×1
centos ×1
certificates ×1
compiling ×1
mount ×1
networking ×1
openssl ×1
php ×1
ping ×1
raspbian ×1
rhel ×1
ubuntu ×1