Порт сервера Nginx, порт 8081, путь к корневой папке
Я пытаюсь защитить паролем весь порт 8081 на моем сервере Nginx. Единственное, для чего используется этот порт - это PhpMyAdmin. Когда я перехожу на https://www.example.com:8081/, я успешно получаю страницу приветствия Nginx по умолчанию. Однако, когда я пытаюсь перейти в каталог PhpMyAdmin, https://www.example.com:8081/phpmyadmin, я получаю страницу "404 Not Found".
Разрешение для моего файла htpasswd установлено на 644.
Вот код для моего блока сервера:
server {
listen 8081;
server_name example.com www.example.com;
root /usr/share/phpmyadmin;
auth_basic "Restricted Area";
auth_basic_user_file htpasswd;
}
Я также попытался полностью комментировать #root /usr/share/phpmyadmin; Тем не менее, это не имеет никакого значения.
Моя проблема ограничена использованием неверного корневого пути? Если так, как я могу найти корневой путь для PhpMyAdmin?
Если это имеет какое-то значение, я использую Ubuntu 14.04.1 LTS с Nginx 1.4.6 и ISPConfig 3.0.5.4p3.
2 ответа
SSL не включен на этом сервере. Попробуйте http://www.example.com:8081/
Чтобы заставить работать SSL, вам нужно что-то вроде:
listen 8081 ssl;
ssl_certificate /path/to/your.crt;
ssl_certificate_key /path/to/your.key;
error_page 497 https://$host:$server_port$request_uri;
Строка с ошибкой перенаправит http: //... на https: //...
РЕДАКТИРОВАТЬ: вот полный блок сервера, который работает для меня - я начал тестировать это, прежде чем я увидел ваш ответ, который включает в себя блок PHP:)
server {
listen 8081 ssl;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
error_page 497 https://$host:$server_port$request_uri;
server_name example.com www.example.com;
root /usr/share/phpmyadmin;
location / {
auth_basic "Restricted Area";
auth_basic_user_file htpasswd;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
}
Спасибо masegaloeh за следующее решение:
Решением является добавление раздела php-fpm следующим образом:
server {
listen 8081;
server_name example.com www.example.com;
root /usr/share/phpmyadmin;
location / {
auth_basic "Restricted Area";
auth_basic_user_file htpasswd;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/lib/php5-fpm/web11.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
}