Я пытаюсь настроить Nginx, чтобы использовать домен как передача прокси в страницы GitHub и также иметь целевую страницу на корневом домене.
С этой конфигурацией прокси к githubpages хорошо работает, но если я проверяю example.com, это переходит к страницам GitHub также.
Моя конфигурация - это:
server {
listen 80 ;
index index.html index.htm;
server_name example.com www.example.com ;
location = / {
index index.html;
root /home/landing/public_html ;
}
location / { #this work fine
proxy_set_header Host enlaorbita.github.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://user.github.io/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Это должно сделать:
example.com или www.example.com-> переходят к моему собственному приземлению (Оно не работает),
example.com/repo/-> переходят к user.github.io/repo. Да это работает
Спасибо
Директива index
- это , вызывающая внутреннее перенаправление на /index.html
, поэтому оно соответствует вашему ] location /
block.
Вам понадобится отдельный блок location для обработки /index.html
и проверки того, что он не соответствует location /
блок. Если у вас есть какие-либо другие статические ресурсы, такие как изображения или CSS, используемые в index.html
, вам понадобится блок местоположения для их обработки. Пример:
server {
listen 80;
server_name example.com www.example.com;
root /home/landing/public_html;
location = / {
index index.html;
}
location /index.html {
# Empty block -- root is set above
}
location /static {
# Also an empty block
# Put your static files in /home/landing/public_html/static, and access
# them at example.com/static/filename
}
location / {
proxy_set_header Host user.github.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://user.github.io/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}