我有一个安装了Horde的NGINX服务器,所以我可以使用webmail,并且根据我是否使用http -or- httpS得到两个不同的错误。 我在nginx中设置了调试,并没有对错误的来源有任何倾向。 邮件错误/访问日志没有错误。 我已经成功设置了Postfix和Dovecot(都是从telnet测试/连接的,并且是CLI的Open_ssl)。 我的IP端口是开放的(根据需要)。
Http工作正常(h - p://www.mydomain.not/index.php)。 Http S NOT 使用相同的网址。
Http S 会加载 webmail 登录页面但是... 这个页面看起来不对。它看起来与我使用Apache2时所做的一样,这让我相信某些东西没有正确处理PHP。 2.我无法直接通过此 webmail 登录页面登录,但我可以使用Horde提供的 Horde-TEST.php 页面登录。 注意:webmail h - p://www.mydomain.not/webmail/ 登录 .php 部落测试 h - p://www.mydomain.not/webmail/ 测试 .php
因此.... A)常规loginPage(加载,但无法登录) (H - p 取值://www.mydomain.not/webmail/login.php) B)Horde-Mail Test页面(非httpS)确实加载,并且测试登录适用于浏览器中的所有imap / imapS和pop3 / pop3S。 ħ - 号码://www.mydomain.not/webmail/test.php
- 但是,如果交换到httpS,测试登录页面根本不会加载 ħ - P 取值://www.mydomain.not/webmail/test.php
如果键入特定的URL,将加载H
S (h-pS://www.mydomain.not/webmail/login.php) - 但我注意到该页面图形上不准确。页面的结构看起来不像我使用Apache2时的Horde / Mail登录页面。
当我为http设置重定向以强制https时,主网页页面无法加载" h-pS://www.mydomain.not/index.php",但仍然是webmail登录页面加载......-但像以前一样,它不会让我登录...继续给我"错误ERR_CONNECTION_TIMED_OUT"。
最后,我已经验证了我的php5-fpm配置文件" /etc/php5/fpm/pool.d/www.conf"用户/组语句(nginx)和listen语句(listen = /tmp/php5-fpm.sock)与我的nginx.conf配置中的设置一致" fastcgi_pass unix:/ tmp / php5 -fpm.sock;"
我应该提一下,我还在root网站目录中加载了prestashop,并且没有PHP错误及其任何功能......-但我此时也没有起诉任何httpS。 ..just http。
总结: 尝试使用HTTPS时出错。 1. http S 不会加载主网页。 2. http S 将加载Horde_test页面。,测试工具成功连接到imap / imaps / pop3 / pop3s。 3. http将加载webmail登录页面,但会给出错误ERR_CONNECTION_TIMED_OUT"。
我得到的唯一已知错误是在重新加载nginx之后,每当我对nginx.conf进行更改时都会从CLI中获取错误(即使我只是添加注释行并且不做其他更改!)这就是发生的事情:
/etc/init.d/nginx:2:/etc/init.d/nginx:语法错误:换行意外
- 遗憾的是,一旦发生这种情况......即使没有httpS的regualr主页现在也会提供" ERR_TOO_MANY_REDIRECTS" ...只有重新启动才会启动此http再次运行。
这是我的nginx.conf文件。
用户nginx worker_processes 4 pid varrunnginx.pid
事件 worker_connections 768 <_ p>上的multi_accept
error_log varlognginxdebuglog debug
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
服务器 听80听ipv4这条线是默认的和隐含的 听80默认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 ssl ssl_certificate etcnginxsslserver.crt ssl_certificate_key etcnginxsslserver.key server_name mydomain.com * .mydomain.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 * LISTEN 938dovecot tcp 0 0 0.0.0.0143 0.0.0.0 * LISTEN 938dovecot tcp 0 0 0.0.0.080 0.0.0.0 * LISTEN 1744nginx tcp 0 0 0.0.0.021 0.0.0.0 * LISTEN 831vsftpd tcp 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
答案 0 :(得分:0)
这里有几件事情错了,&#34;答案&#34;尚未完成。
我删除了几乎所有的fastcgi内容,然后输入一个基本配置:
服务器{ server_name example.org; root / var / www / site;
location / { try_files $ uri $ uri / /index.php; }
location~.php $ { 包括fastcgi.conf; fastcgi_pass unix:/tmp/php-fpm.sock; } }
我回到基本的网络托管,直接路径会显示上面提到的每个非httpS页面,但常规网址会出现403禁止错误。所以我必须输入/index.php
我发现从我想要使用的工具上卸载脚本安装的Apache与我的nginx端口80访问冲突。 - 卸载它,但仍然有常规的URL问题。
错误日志显示权限问题。 - 所以我说这篇文章现在已经解决,因为根本原因是权限。