相关疑难解决方法(0)

DNS和nginx服务器设置会导致服务器缓慢和502响应

我正在使用Ubuntu 18.04.1 Nginx 1.14.0和PHP 7.2.7建立一个新的服务器.除了测试页面我设置了大量丢失的图像链接之外,一切正常.编辑:我决定根据讨论的结论提出一个新问题,即可能存在DNS配置错误.

服务器似乎需要永远意识到它们丢失并响应http请求.一些丢失的文件给出HTTP状态为404,有些给出502.导致这些延迟和502错误的原因是什么?我在nginx或php配置中做错了吗?

在我的旧服务器上,我有完全相同的页面加载非常快.我想要解决的服务器设置必须有所不同.

编辑:服务器无法识别IPv6地址为server1.eu,但访问IPv4地址会立即显示https://server1.eu

区域文件记录:

AAAA    server1.eu  directs to the IPv6 address 
A   server1.eu  directs to the IPv4 address           
Run Code Online (Sandbox Code Playgroud)

Dayo建议hosts文件可能有问题,但是如果hosts文件一起清空,则问题仍然存在.这是内容:

127.0.0.1 localhost
::1 localhost
(the IPv6 address) localhost
127.0.1.1 host.server1.eu


# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Run Code Online (Sandbox Code Playgroud)

nginx服务器配置,当我删除行"listen [::]:443 ssl http2;" 一切正常:

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        ssl_certificate /etc/letsencrypt/live/server1.eu/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/server1.eu/privkey.pem;
        include …
Run Code Online (Sandbox Code Playgroud)

php dns configuration nginx

10
推荐指数
2
解决办法
729
查看次数

为什么这个nginx服务器重定向到错误的域?

为什么这个nginx服务器重定向到错误的域?我的nginx网络服务器有两个服务域,server1.eu和server2.eu,为什么它们相互干扰?当我设置一个新的"干净"服务器安装时,这种行为不会出现,所以这个服务器的设置有什么问题.

侦听IPv6的nginx web服务器优先于IPv4并干扰SNI.使用删除服务器进行测试会显示nginx的行为.

删除除服务器1之外的所有服务器,启用IPv4和IPv6,重新加载nginx,然后激活服务器2,仅使用IPv4侦听器并再次重新加载nginx.浏览到服务器2将使您最终到达服务器1.看来nginx会自动侦听第一个添加的IPv6.因此,交换激活序列将切换路由.

找到/etc/nginx/{conf.d,sites-enabled}给出

/etc/nginx/sites-enabled/server1.eu 
/etc/nginx/sites-enabled/server2.eu 
Run Code Online (Sandbox Code Playgroud)

区域文件记录:

AAAA    server1.eu    directs to IPv6 address
A   server1.eu    directs to IPv4 address
AAAA    server2.eu  directs to IPv6 address
A server2.eu directs to IPv4 address
Run Code Online (Sandbox Code Playgroud)

nginx服务器配置:

server {
    listen 80;
    listen [::]:80;
server_name server1.eu;
    return 301 https://www.server1.eu;
}
server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        ssl_certificate /etc/letsencrypt/live/server1.eu/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/server1.eu/privkey.pem;
        include snippets/ssl-params.conf;

        server_name www.server1.eu;
        root /var/www/server1.eu/webroot;
        index index.php index.html index.htm ;

        location / {
            try_files $uri $uri/ /index.php?$args;
        }

        location ~ …
Run Code Online (Sandbox Code Playgroud)

dns redirect nginx

7
推荐指数
1
解决办法
309
查看次数

标签 统计

dns ×2

nginx ×2

configuration ×1

php ×1

redirect ×1