簡體   English   中英

將流量重定向到具有端口號的域,而不在URL中顯示端口號

[英]Redirect traffic to a domain with a port number without showing the port number in the URL

我在www.myurl.com:3001上運行了Node.js / Angularjs / Gulp應用程序,我希望有一個“干凈的” URL www.myurl.com。 因此,我想將流量從www.myurl.com重定向到www.myurl.com:3001,使用.htaccess mod重寫條件,這是非常直接的。 但是我現在得到的是從www.myurl.com到www.myurl.com:3001的重定向,我希望看到該應用程序在URL下的端口3001上運行,而沒有任何其他端口,以便任何訪問該URL的用戶www.myurl.com看到該應用程序在www.myurl.com:3001上運行,但是在其瀏覽器:www.myurl.com中具有“干凈” URL,但沒有任何端口號。

最好的方法是什么? 這是到目前為止我得到的:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.myurl.com [NC]
RewriteRule (.*) http://www.myurl.com:3001/$1 [R=301,L]

任何提示或幫助,將不勝感激,謝謝!

您不能只重定向它,因為它將始終顯示端口。

您需要在Apache中配置反向代理。 這可以像在StackOverflow答案中那樣完成,在您的apache配置中看起來像這樣:

<VirtualHost *:80>
    ServerAdmin admin@myurl.com
    ServerName myurl.com
    ServerAlias www.myurl.com

    ProxyRequests off

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    <Location />
        ProxyPass http://localhost:3001/
        ProxyPassReverse http://localhost:3001/
    </Location>
</VirtualHost>

兩種方法

  1. 更改端口號

    Listen 3001

http://httpd.apache.org/docs/2.2/mod/mpm_common.html#listen

  1. 反向代理

    <VirtualHost *:80> ProxyPreserveHost On ProxyRequests Off ServerName www.myurl.com ServerAlias myurl.com ProxyPass / http://myurl.com:3001/ ProxyPassReverse / http://myurl.com:3001/ </VirtualHost>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM