Nginx

nginx 重定向到本地主機

  • June 25, 2021

我對此有點菜鳥,我只是切換到nginx,所以我為菜鳥問題道歉。

我已經安裝了 nginx,當我進入它的 web 文件夾的根目錄時,我可以得到索引文件。但是當我嘗試去一個文件夾時,比如 server.ip.address/folder,它會去 localhost/folder。

我怎樣才能阻止它這樣做?我在可用站點的“預設”文件中添加了 server_name_in_redirect off。

配置文件:

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
   worker_connections  1024;
   # multi_accept on;
}

http {
   include       /etc/nginx/mime.types;

   access_log  /var/log/nginx/access.log;

   sendfile        on;
   #tcp_nopush     on;

   #keepalive_timeout  0;
   keepalive_timeout  65;
   tcp_nodelay        on;

   gzip  on;
   gzip_disable "MSIE [1-6]\.(?!.*SV1)";

   include /etc/nginx/conf.d/*.conf;
   include /etc/nginx/sites-enabled/*;
}

#

Blockquote

mail {
#     # See sample authentication script at:
#     # http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript
# 
#     # auth_http localhost/auth.php;
#     # pop3_capabilities "TOP" "USER";
#     # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
#     server {
#         listen     localhost:110;
#         protocol   pop3;
#         proxy      on;
#     }
# 
#     server {
#         listen     localhost:143;
#         protocol   imap;
#         proxy      on;
#     }
# }

/etc/nginx/sites-available/預設文件:

# You may add here your
# server {
#   ...
# }
# statements for each of your virtual hosts

server {
   listen   80 default;
   server_name  localhost;
   server_name_in_redirect off;

   access_log  /var/log/nginx/localhost.access.log;

   location / {
       root   /var/www/nginx-default;
       index  index.html index.htm;
   }

   location /doc {
       root   /usr/share;
       autoindex on;
       allow 127.0.0.1;
       deny all;
   }

   location /images {
       root   /usr/share;
       autoindex on;
   }

   #error_page  404  /404.html;

   # redirect server error pages to the static page /50x.html
   #
   #error_page   500 502 503 504  /50x.html;
   #location = /50x.html {
   #   root   /var/www/nginx-default;
   #}

   # proxy the PHP scripts to Apache listening on 127.0.0.1:80
   #
   #location ~ \.php$ {
       #proxy_pass   http://127.0.0.1;
   #}

   # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
   #
   #location ~ \.php$ {
       #fastcgi_pass   127.0.0.1:9000;
       #fastcgi_index  index.php;
       #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
       #includefastcgi_params;
   #}

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


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#listen   8000;
#listen   somename:8080;
#server_name  somename  alias  another.alias;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}


# HTTPS server
#
#server {
#listen   443;
#server_name  localhost;

#ssl  on;
#ssl_certificate  cert.pem;
#ssl_certificate_key  cert.key;

#ssl_session_timeout  5m;

#ssl_protocols  SSLv2 SSLv3 TLSv1;
#ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers   on;

#location / {
#root   html;
#index  index.html index.htm;
#}
#}

改變

server_name  localhost;

server_name  your.domain.com;

你需要上面的答案加上

server_name_in_redirect off;

然後清除瀏覽器記憶體

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