我正在尝试使用Nginx托管我的ASP.Net核心应用程序。
我的 nginx.conf 就像这样
CREATE OR REPLACE PROCEDURE RENAME_TABLE
IS
BEGIN
EXECUTE IMMEDIATE
('ALTER TABLE CURRENT_TABLE RENAME TO CURRENT_TABLE_OLD');
--rename current table to old
DBMS_OUTPUT.PUT_LINE ('rename current to old');
COMMIT;
EXECUTE IMMEDIATE
('ALTER TABLE CURRENT_TABLE_TMP RENAME TO CURRENT_TABLE');
--rename tmp table to current
DBMS_OUTPUT.PUT_LINE ('rename tmp to current');
EXCEPTION
WHEN OTHERS
THEN
-- There was a problem somewhere. Display the error code.
DBMS_OUTPUT.PUT_LINE (
'Exception raised during RENAME_TABLE'
|| TO_CHAR (SQLCODE)
|| ' - '
|| SUBSTR (SQLERRM, 1, 200));
END;
/
我将此代码添加到配置方法以使用转发标头
server {
listen 80;
server_name mydomain.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:5000;
}
}
我从浏览器导航到 mydomain.com ,它一直有效,直到我点击带谷歌按钮的登录。它会重定向到http:// localhost:5000 / signin-google而不是http:// mydomain.com / signin-google。
如何将其重定向到http:// mydomain.com / signin-google?
答案 0 :(得分:0)
我相信proxy_redirect指令可以提供帮助。
根据: NGinX Documentation for proxy_redirect
proxy_redirect:“设置应在代理服务器响应的“位置”和“刷新”标头字段中更改的文本。”
所以:
proxy_redirect http://localhost:5000/ http://example.com/
可以解决您的问题。
您甚至可以使用变量来简化支持?
proxy_redirect http://localhost:5000/ http://$host:$server_port