Mysql 提示:Can’t get hostname for your address

连接远程的MySQL服务器,老是报错。
提示:Can’t get hostname for your address

解决办法,修改my.cnf,在[mysqld]加入:
skip-name-resolve # 忽略主机名的方式访问
lower_case_table_names=1 # 忽略数据库表名大小写

重启mysql
service mysqld restart

Directadmin 默认没有/etc/my.cnf
复制一个再修改。

cp -f /usr/share/mysql/my-large.cnf /etc/my.cnf

用.htaccess强制使用https

如果你需要强制http跳转使用https的话,可以在网站根目录下编辑.htaccess,加入


RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

但如果网站是通过Cloudflare做CDN的,这种情况可能导致多次跳转而无法访问,应改用如下的方法:


RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

当然,这个方法只适用于Apache。

Nginx是不适用的。

参考链接:https://help.directadmin.com/item.php?id=624

Directadmin安装sspanel

1)在httpd.conf添加自定义内容:


|?DOCROOT=/home/admin/domains/domain.com/public_html/public|

 

2)最郁闷的,基本功能都OK,但是编辑用户资料,编辑公告都出现405或502错误。最后发现,Directadmin默认不支持PUT方法,按下面方法修改后搞定。


cd /usr/local/directadmin/custombuild ./build set http_methods GET:HEAD:POST:<span class="out1 c">PUT:DELETE</span> ./build rewrite_confs

参考网址:https://help.directadmin.com/item.php?id=700

使用Cloudflare的Apache获取用户的真实IP

编辑Httpd设置,加入:


<IfModule remoteip_module> RemoteIPHeader X-Forwarded-For RemoteIPInternalProxy 127.0.0.1/24 RemoteIPInternalProxy ohter-ip/24 #CloudFlare IP Ranges RemoteIPInternalProxy 103.21.244.0/22 RemoteIPInternalProxy 103.22.200.0/22 RemoteIPInternalProxy 103.31.4.0/22 RemoteIPInternalProxy 104.16.0.0/12 RemoteIPInternalProxy 108.162.192.0/18 RemoteIPInternalProxy 131.0.72.0/22 RemoteIPInternalProxy 141.101.64.0/18 RemoteIPInternalProxy 162.158.0.0/15 RemoteIPInternalProxy 172.64.0.0/13 RemoteIPInternalProxy 173.245.48.0/20 RemoteIPInternalProxy 188.114.96.0/20 RemoteIPInternalProxy 190.93.240.0/20 RemoteIPInternalProxy 197.234.240.0/22 RemoteIPInternalProxy 198.41.128.0/17 </IfModule> <pre>

使用Directadmin的话在Custom HTTPD Configurations里设置。

解决DirectAdmin安装CSF防火墙后发邮件的问题

DirectAdmin,安装某自动发卡程序时发现无法连接Mailgun的SMTP服务器发邮件。发卡程序是用PHPmailer发邮件的,在另外一台DirectAdmin上运行良好。百思不得其解!甚至写了一段PHPMailer的程序对比两台DirectAdmin服务器,结果发现存在问题的服务器是安装了CSF(ConfigServer Security & Firewall)防火墙的。于是将CSF Disabled掉,邮件顺利发出。

最终调整CSF解决:

1)添加TCP_OUT端口,加入应用到的465端口:

2)

将SMTP_BLOCK关掉。

问题解决!

DirectAdmin使用Nginx_Apache模式,并获取Cloudflare后的真实IP

通过以下命令将Directadmin切换成Nginx_Apache模式,Nginx用于反代。


cd /usr/local/directadmin/custombuild ./build update ./build set webserver nginx_apache ./build nginx_apache

如果站点用了cloudflare的CDN或者置于Haproxy之后,会无法获取到用户的真实IP,因此,应修改Nginx配置:


nano /etc/nginx/nginx-includes.conf

set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 104.16.0.0/12; set_real_ip_from 108.162.192.0/18; set_real_ip_from 131.0.72.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 162.158.0.0/15; set_real_ip_from 172.64.0.0/13; set_real_ip_from 173.245.48.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 190.93.240.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 199.27.128.0/21; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; set_real_ip_from 2c0f:f248::/32; set_real_ip_from 2a06:98c0::/29; #这里可以添加Haproxy的IP set_real_ip_from 210.88.88.88; # use any of the following two real_ip_header CF-Connecting-IP; #real_ip_header X-Forwarded-For;