Я только что привел доменное имя (example.com) и настроил перенаправление кадра URL-адреса на 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
Любой совет будет очень признателен. Был на этом уже некоторое время.
Спасибо!
РЕДАКТИРОВАТЬ ------
Проблема была с моим регистратором домена, мой домен был настроен как «переадресация URL», тогда как это должна была быть «запись A». Это исправило это для меня. Всем удачи!
У меня почти такая же проблема, но я решаю ее с помощью этой конфигурации. Если у вас есть только один сайт на вашем сервере, вам необходимо удалить файл конфигурации по умолчанию. rm / etc / nginx / sites-available / default оставьте только /etc/nginx/sites-available/example.com с этой конфигурацией
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, вы должны создать файл конфигурации по умолчанию
отредактируйте / etc / nginx / sites-available / default И используйте ту же конфигурацию, которую вы использовали сначала
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 и удалить файл конфигурации по умолчанию, а затем перезапустить nginx.