Ser*_*eum 16 proxypass apache-2.2 ubuntu-12.10
我一直在搜索谷歌,但在找到答案方面没有取得多大成功。我在 Ubuntu 上运行服务器,并且安装了使用各种非标准端口的程序。每个都使用不同的端口,在我的情况下它们是 9090、9091、9092、9093 和 9094。我设置了一个 apache 服务器并拥有一个域名,现在可以访问我的服务器,而不必输入我的 IP 地址。我正在寻找的是一种创建可以指向我列出的不同端口的目录的方法。我想要这样的东西:
https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3
有些端口通过 SSL,有些则不是,我只是将它们按顺序排列 (9090-9094) 以方便我使用。我想让 /app1 指向 SSL 端口 9090,/app2 指向 SSL 端口 9091,/app3 指向非 SSL 端口 9092。有没有一种简单的方法可以做到这一点?我已经尝试根据其他帖子添加 ProxyPass 等,但没有任何效果。我需要添加一个新站点吗?
此外,如果这涉及编辑文件(我希望它会这样做),如果您能列出文件的默认位置以及添加内容的位置,将不胜感激。我一直看到帖子说要添加 ProxyPass,所以我只是假设它在 VirtualHost 内部,但我并不完全确定。基本上,我对网络服务器设置知之甚少,我需要被这样对待。
对于任何不正确的标签,我深表歉意,感谢您花时间阅读帖子以及您可以提供的任何帮助。
编辑:为了澄清起见,应用程序已经可以通过https://www.mydomain.com:9090等访问。我只想使用一种方法来https://www.mydomain.com/appName访问这些应用程序发布的相同位置/页面。
编辑 2:来自 /etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /app1 https://localhost:9090/
ProxyPassReverse /app1 https://localhost:9090/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
小智 16
确保安装并加载了以下 apache 模块:
mod_proxy
mod_proxy_http
mod_ssl
Run Code Online (Sandbox Code Playgroud)
您可以通过以 root 身份运行以下命令来检查(假设 httpd 在您的 $PATH 中)
httpd -t -D DUMP_MODULES
之后,尝试将您的配置更改为以下内容:
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
SSLProxyEngine on
ProxyPass /app1 https://localhost:9090
ProxyPassReverse /app1 https://localhost:9090
Run Code Online (Sandbox Code Playgroud)
如果您访问http://localhost/app1或http://mydomain.com/app1假设 mydomain.com 指向 localhost ,代理现在应该可以工作。
| 归档时间: |
|
| 查看次数: |
37922 次 |
| 最近记录: |