На удаленом хосте работают два сервера Apache и Nginx. Основной сервер - Apache. С него идет переадресация на Nginx.
Конфигурация Apache:
<VirtualHost my_host:80 >
ServerName example.com
ServerAlias www.example.com
ProxyPreserveHost On
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
</VirtualHost>
Конфигурация Nginx:
server {
listen 81 default_server;
listen [::]:81 default_server;
server_name example.com www.example.com;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
add_header Access-Control-Allow-Origin *;
}
}
Когда набираешь в адресной строке example.com, то все нормально. Но когда переходишь на сайт с поисковой выдачи, то в адресной строке отображается my_host:81 вместо доменного имени. Как это побороть?