Nginx

子域指向 GCE 的 IP 地址

  • March 29, 2017

我有一個近 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地址,forwrd type=permanent(301),settings=只轉發

這是我的伺服器 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;
   #}
}

下面還有子域中的轉發部分,我點擊添加按鈕,我輸入我的子域,轉發到http://i.p地址,轉發類型=永久(301),設置=僅轉發

那就是問題所在。當您已經配置記錄時,您不需要外部重定向A!這是兩個不同的東西。

(雖然有一個 A 記錄(到外部伺服器),但您不一定希望看到重定向 - 但這可能取決於 GoDaddy 的實現?)

刪除重定向(“轉發部分”)。

您需要清除瀏覽器記憶體,因為錯誤的 301(永久)重定向將被瀏覽器硬記憶體(對於訪問過您網站的任何使用者來說都是一樣的)。

引用自:https://serverfault.com/questions/841213