Nginx虚拟主机403禁止

我刚刚带了一个域名(example.com),并设置了一个URL框架redirect到我的服务器的IP XXX.XXX.XXX.XXX,但是我得到一个403禁止的错误。 我可以通过服务器IP访问页面。 我想要的是复制的服务器IP使用我的域的行为,所以我试图复制我的IP虚拟主机,但它不工作。

这是我的虚拟主机文件:

server { listen 80; server_name example.com ; access_log /var/log/nginx/website.access_log; error_log /var/log/nginx/website.error_log; root /var/www; index index.html; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/phpMyAdmin; include fastcgi_params; } } 

而我目前用IP直接访问服务器(工作):

 server { listen 80; server_name xxx.xxx.xxx.xxx ; access_log /var/log/nginx/website.access_log; error_log /var/log/nginx/website.error_log; root /var/www; index index.php; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/phpMyAdmin; include fastcgi_params; } } 

这是我的nginx.conf:

 user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; autoindex off; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ## # nginx-naxsi config ## # Uncomment it if you installed nginx-naxsi ## #include /etc/nginx/naxsi_core.rules; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/default; include /etc/nginx/sites-enabled/phpMyAdmin; include /etc/nginx/sites-enabled/example.com; } 

我也试过了:

 sudo chown -R www-data:www-data /var/www sudo chmod -R 775 /var/www 

任何build议将不胜感激。 已经在这一个现在一段时间了。

谢谢!

编辑——

问题出在我的域名注册商,我的域名设置为“URL转发”,当它应该是“Alogging”。 这为我修好了。 祝你好运!

我几乎有相同的问题,但我解决这个configuration如果你只有一个站点在你的服务器上,那么你必须删除默认的configuration文件。 rm / etc / nginx / sites-available / default只保留/etc/nginx/sites-available/example.com这个configuration

 server { listen 80; server_name example.com; access_log /var/log/nginx/website.access_log; error_log /var/log/nginx/website.error_log; root /var/www; index index.php index.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/phpMyAdmin; include fastcgi_params; } } 

如果你想通过IP接受站点,你应该创build默认的configuration文件

编辑/ etc / nginx / sites-available / default并使用您首先使用的相同configuration

 server { listen 80; server_name xxx.xxx.xxx.xxx; root /var/www; index index.php index.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/phpMyAdmin; include fastcgi_params; } } 

最后,您可以将您的站点example.com文件移动到/var/www/example.com并删除默认configuration文件,然后重新启动nginx