将端口 5000 重定向至 Apache2 中的子域

将端口 5000 重定向至 Apache2 中的子域

小描述:将端口 5000 重定向到子域

描述:嗯,我有一个程序,“主管”,它有一个OSRM(开放街道路线图),它正在运行端口 5000,我想将该端口重定向到子域 例如.mywebsite.com,全部使用 Apache

我的 SO:是 Ubuntu 14.04.4 LTS

Apache 版本:Apache/2.4.7(Ubuntu)

我为每个子域名都有一个文件:/etc/apache2/sites-available/

我想要一个可以解决我的问题的文件...

我不知道该怎么做。这会对其他人有所帮助,我正在做一个使用 apache 安装 nominatim 和 osrm 的教程...

答案1

你已经运行了该服务端口 5000,你想显示,代理你的服务在127.0.0.1:5000mywebsite.com:5000到子域名或类似域名osrm.mywebsite.com 或者myosrmwebsite.com

你需要在 Apache2 中启用 mod_proxy首先。因此,请以 root 或 sudo 身份运行以下命令:

a2enmod proxy
a2enmod proxy_http

编辑您的 hosts 文件

# if you don't have access try with sudo
nano /etc/hosts

将条目添加到您的 hosts 文件

# path /etc/hosts
127.0.0.1 subdomainname.mywebsite.com
87.164.25.1 subdomainname.mywebsite.com

87.164.25.1是 IP 公共的一个例子,它不是真实的

在这之后我们需要去 /etc/apache2/sites-available

cd /etc/apache2/sites-available

创建文件 *.conf对于我们的子域名或域名

nano subdomainname.mywebsite.com.conf

在这个文件中,我们将创建一个配置来代理我们的端口到服务器名

#filename 'subdomainname.mywebsite.com.conf'
#dir /etc/apache2/sites-available
<VirtualHost *:80>
    ServerName osrm.website.com  # my subdomain or website name server
    ProxyPass               /       http://localhost:5000/
    ProxyPassReverse        /       http://localhost:5000/
    ProxyRequests     Off

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

笔记:如果您尝试通过 url 查看网站,但没有任何反应,请尝试更改<VirtualHost *:80><VirtualHost 87.164.25.1:80>服务器的 ip。

使用此命令将*.conf文件添加到apache,并检查命令列表。

启用它

sudo a2ensite subdomainname.mywebsite.com.conf

禁用它

sudo a2dissite subdomainname.mywebsite.com.conf

列出所有站点

# if you want to know what sites are enables.. or check if it is enable
apache2ctl -S

重新加载 Apache 或重新启动

# only reload the config files without restart
sudo service apache2 reload

# restart apache
sudo service apache2 restart


参考网站

  1. 如何在 Ubuntu Server 14.04 上设置子域名
  2. 获取所有 apache 配置文件中定义的所有虚拟主机的列表
  3. 代理端口到站点 - 示例 1 - https://serverfault.com/a/140161
  4. 代理端口到站点 - 示例 2 - http://freedif.org/how-to-redirect-a-port-to-a-sub-domain-proxypass/
  5. 代理端口到站点 - 示例 3 - https://stackoverflow.com/a/8442270/5287072
  6. 代理端口到站点 - 示例 4 - https://stackoverflow.com/a/589479/5287072

*如果由于某种原因失败了,我会添加标题和网址......

相关内容