我有一个安装了 Horde 的 NGINX 服务器,因此我可以使用 webmail,并且根据我使用的是 http - 还是 - httpS 会收到两个不同的错误。我已经在 nginx 中设置了调试,并且没有任何关于错误来源的倾向。邮件错误/访问日志没有错误。我已经成功设置了 Postfix 和 Dovecot(都从 telnet 和 Open_ssl 从 CLI 测试/连接)。我的 IP 端口是打开的(根据需要)。
Http 工作正常(h--p://www.mydomain.not/index.php)。Http S不适用于同一个 URL。
Http S确实加载了webmail loginPage 但是... 1. 页面看起来不正确。它看起来与我使用 Apache2 时所做的完全不同,这让我相信某些东西没有正确处理 PHP。2.我不能直接通过这个webmail登录页面登录,但是我可以使用Horde提供的Horde-TEST.php页面登录。 注意:webmail h--p://www.mydomain.not/webmail/ login .php Horde-Test h--p://www.mydomain.not/webmail/ test .php
所以.... A)常规 loginPage(加载,但无法登录)(h--p S ://www.mydomain.not/webmail/login.php) B)Horde-Mail 测试页面(非 httpS ) 确实加载并且测试登录对浏览器中的所有 imap/imapS 和 pop3/pop3S 都有效。h--p://www.mydomain.not/webmail/test.php
- 但是,如果切换到 httpS h--p S ://www.mydomain.not/webmail/test.php ,测试登录页面根本不会加载
如果输入了特定的 URL(h--pS://www.mydomain.not/webmail/login.php),H--p S将加载 - 但我注意到该页面的图形不准确。该页面的结构看起来不像我使用 Apache2 时的 Horde/Mail 登录页面。
当我为 http 设置重定向以强制 https 时,主网站页面未加载“h--pS://www.mydomain.not/index.php”,但网络邮件登录页面仍然加载...-但作为在它不允许我登录之前...不断给我“错误 ERR_CONNECTION_TIMED_OUT”。
最后,我验证了我的 php5-fpm 配置文件“/etc/php5/fpm/pool.d/www.conf”用户/组语句(nginx)和监听语句(listen = /tmp/php5-fpm.sock ) 与我的 nginx.conf 配置“fastcgi_pass unix:/tmp/php5-fpm.sock;”中的设置一致。
我应该提一下,我还在根网站目录中加载了 prestashop,并且它的任何功能都没有 PHP 错误......但我此时也没有起诉任何 httpS......只是 http。
总之:尝试使用 HTTPS 时出现错误。1. http S不会加载主网页。2. http S会加载 Horde_test 页面,并且测试工具成功连接到 imap/imaps/pop3/pop3s。3. http 会加载 webmail 登录页面,但给出“Error ERR_CONNECTION_TIMED_OUT”。
我得到的唯一已知错误是在重新加载 nginx 后,每当我对 nginx.conf 进行更改(即使我只是添加注释行并且没有更改其他内容!)时,都会发生以下情况:
/etc/init.d/nginx: 2: /etc/init.d/nginx: 语法错误:新行意外
- 可悲的是,一旦发生这种情况......即使没有httpS的常规主页现在也会给出“ERR_TOO_MANY_REDIRECTS”......只有重新启动才能重新启动这个http工作。
这是我的 nginx.conf 文件。
...前言...这个!@#$ 工具不会让我发布带有控制字符的常规配置!- 如果它看起来很愚蠢,那不是我的错。
用户 nginx worker_processes 4 pid varrunnginx.pid
事件worker_connections 768 multi_accept on
error_log varlognginxdebuglog 调试
http
Basic Settings
sendfile on
tcp_nopush on
tcp_nodelay on
keepalive_timeout 65
types_hash_max_size 2048
include etcnginxmime.types
default_type applicationoctet-stream
access_log varlognginxaccess.log
error_log varlognginxerror.log
server listen 80 listen for ipv4 此行是默认和隐含的 listen 80 default ipv6only=on listen for ipv6
server_name mydomain.not *.mydomain.not
Force http to use httpS
NOTE I've turned this on ONLY to test...-same errors output for httpS noted in posting
rewrite ^ h--ps$http_host$request_uri? permanent force redirect http to https
HTTPS 服务器服务器监听 443 keepalive_timeout 70 ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2 ssl_ciphers AES128-SHAAES256-SHARC4-SHADES-CBC3-SHARC4-MD5 ssl_prefer_server_ciphers on ssl on ssl_certificate etc nginxsslserver.crt ssl_certificate_key etc *ssl_certificate_key etc *ssl_certificate_key etc. com
ssl_ciphers ALL!ADH!EXPORT56RC4+RSA+HIGH+MEDIUM+LOW+SSLv3+EXP
pass the PHP scripts to FastCGI server
location .php$
fastcgi_split_path_info ^(.+?.php)(.*)$
if (!-f $document_root$fastcgi_script_name)
return 404
fastcgi_pass 127.0.0.19000
fastcgi_pass unixvarrunphp5-fpm.sock
fastcgi_pass unixtmpphp5-fpm.sock
fastcgi_index index.php
include fastcgi_params
root usrsharenginxwwwwcrc
index index.php index.html index.htm
我没有使用下面的直接邮件端口,而是通过 browserHorde-webmail 使用 TLS。
邮件 请参阅 httpwiki.nginx.orgImapAuthenticateWithApachePhpScript 上的示例身份验证脚本
auth_http localhostauth.php
pop3_capabilities "TOP" "USER"
imap_capabilities "IMAP4rev1" "UIDPLUS"
server
listen localhost110
protocol pop3
proxy on
server
listen localhost143
protocol imap
proxy on
端口开放 $ sudo netstat -ntlp | grep LISTEN tcp 0 0 0.0.0.0443 0.0.0.0* LISTEN 1744nginx tcp 0 0 0.0.0.0993 0.0.0.0* LISTEN 938dovecot tcp 0 0 0.0.0.0995 0.0.0.0* LISTEN 938dovecot tcp 0 0 127.0.0.13306 0.0.0.0* LISTEN 985mysqld TCP 0 0 0.0.0.0110 0.0.0.0*听938Dovecot TCP 0 0 0.0.0.0.0143 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0* 0 0.0.0.022 0.0.0.0* LISTEN 800sshd tcp 0 0 0.0.0.025 0.0.0.0* LISTEN 1215master tcp6 0 0 22 * LISTEN 800sshd