Ok, vì vậy cho mục đích phát triển, chúng tôi có một máy chủ web chuyên dụng. Nó hiện không kết nối trực tiếp với internet, vì vậy tôi đã thiết lập một proxy ngược apache trên một máy chủ khác, mà chuyển tiếp đến máy chủ phát triển.Các tuyến Laravel đằng sau proxy ngược
Bằng cách này, tôi có thể truy cập web vào máy chủ.
Vấn đề là, các tuyến trong Laravel hiện đang được đặt trước bằng địa chỉ IP của máy chủ nội bộ hoặc tên máy tính của máy chủ.
Ví dụ, tôi đi đến http://subdomain.test.com nhưng tất cả các tuyến đường, tạo ra bằng cách sử dụng route()
helper, đang hiển thị url sau: http://10.47.32.22
và không http://subdomain.test.com
.
Các reverse proxy được thiết lập như vậy:
<VirtualHost *:80>
ServerName igateway.somedomain.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass/http://10.47.32.22:80/
ProxyPassReverse/http://10.47.32.22:80/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
tôi đã thiết lập tên miền thực trong config\app.php
.
Câu hỏi
Làm thế nào tôi có thể thiết lập URL mặc định để sử dụng trong định tuyến? Tôi không muốn nó bằng cách sử dụng địa chỉ nội bộ, bởi vì điều đó đánh bại điểm của proxy ngược lại.
Tôi đã thử bao gồm tất cả tuyến đường của mình trong nhóm Route::group(['domain' ...
, cũng không hoạt động.