指向 GCE 的 IP 地址的子域名

指向 GCE 的 IP 地址的子域名

我有一个近 2 个月都无法解决的问题。我已设置:

  • GoDaddy 帐户中的子域名,我创建了A记录并将其指向 IP 地址。

我的 GCE 实例的地址...我认为我的 Nginx 配置没问题。我的问题是,当我访问我的网站 URL 时,它会显示 IP 地址,而不是mysubdomain.example.com。我不希望显示我的 IP 地址,我希望 URL 中的子域名在浏览器中可见。我怀疑是.htaccess我的 laravel 应用程序导致 IP 地址始终显示在 URL 中。

在 Go Daddy 帐户中,这是我在 DNS 管理中创建的方式。

type=A,
Host=mysubdomain,
Point to=i.p address,
ttl=1. 

下面还有子域名的转发部分,我点击添加按钮,输入我的子域名,转发到http://ip地址,转发类型=永久(301),设置=仅转发

这是我的服务器 GCE 中的 Nginx 配置

    server {
    listen 80;
    listen [::]:80;


    root /var/www/pro1/public/;

    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm;

        server_name mysubdomain.example.com;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
         try_files $uri $uri/ /index.php?$query_string;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    location ~ \.php$ {
          try_files $uri /index.php =404;
         fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;    
         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params; 

    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #   deny all;
    #}
}

答案1

下面还有子域名的转发部分,我点击添加按钮,输入我的子域名,转发到http://i.p地址,转发类型=永久(301),设置=仅转发

这就是问题所在。你不需要外部重定向当您已经配置了A记录时!这是两件不同的事情。

(尽管有了 A 记录(到外部服务器),您不一定希望看到重定向 - 但这可能归因于 GoDaddy 的实现?)

删除重定向(“转发部分”)。

您需要清除浏览器缓存,因为错误的 301(永久)重定向已经被浏览器硬缓存(对于访问过您网站的任何用户来说都是一样的)。

答案2

事实上,它应该是 Laravel 应用程序级别的重定向。似乎没有 nginx 规则可以做到这一点,而且……你似乎很困惑;nginx 不处理 .htaccess 文件。看看, 例如。

相关内容