Tôi đã có một vài webapps chạy trên máy chủ web của tôi:Cách thiết lập vị trí proxy cho tất cả đường dẫn ngoại trừ một số với apache2?
- SVN Repository Browser, truy cập qua
https://beta.mydomain.tld/svn/repos
- Trác dụ, accesible qua
https://beta.mydomain.tld/trac
- ứng dụng java web riêng của tôi, truy cập qua
http://beta.mydomain.tld/
, sử dụng một Proxy cho Apache Tomcat địa phương trên cổng 8080
Xin lưu ý rằng hai cái đầu tiên có sẵn qua SSL, thứ ba không có (chưa). Bây giờ tôi cần phải làm cho ứng dụng web của tôi có sẵn qua https, nhưng tôi muốn Trac và SVN Browser vẫn có thể truy cập được ở vị trí hiện tại của họ.
I.e. Tôi đang cố định cấu hình apache2 để ủy quyền tất cả các yêu cầu không bắt đầu bằng svn
hoặc trac
đối với Tomcat.
Đối với các ứng dụng web SSL hiện có, có cấu hình sau
<Location /svn/repos>
DAV svn
SVNParentPath /home/myuser/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/myuser/trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Trac"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
Tôi cố gắng để thêm vị trí sau, nhưng nó đã không giúp đỡ bất cứ điều gì ...
<Location />
ProxyPass http://localhost:8080
ProxyPassReverse http://localhost:8080/
</Location>
Để biết thêm thông tin, đây là cấu hình apache2 hoàn chỉnh liên quan đến phần SSL (không có bất kỳ thử nghiệm không thành công nào của tôi trong đó - tôi nghĩ đó là cấu hình trac mặc định):
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName beta.mydomain.tld:443
DocumentRoot /var/www/
<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 /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ssl_access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl.crt
SSLCertificateKeyFile /etc/ssl/private/ssl.key
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
<Location /svn/repos>
DAV svn
SVNParentPath /home/myuser/svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/myuser/trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Trac"
AuthUserFile /home/myuser/.htpasswd
Require valid-user
</Location>
Xin lỗi, bây giờ tôi đã viết điều này, tôi nhận ra rằng nó sẽ có vị trí tốt hơn tại serverfault. Sẽ rất tuyệt nếu ai đó có thể di chuyển nó ở đó ... Cảm ơn. – peterp